Bladeren bron

HPCC-25841 Build code for WU log only if not container build

In containerized HPCC, the log is accessed from the 3rd party tools.

Revise based on review: roll back the changes for File_Log

Signed-off-by: wangkx <kevin.wang@lexisnexis.com>
wangkx 4 jaren geleden
bovenliggende
commit
70df2f78ca

+ 14 - 2
esp/services/ws_workunits/ws_workunitsHelpers.cpp

@@ -561,7 +561,7 @@ void WsWuInfo::getHelpers(IEspECLWorkunit &info, unsigned long flags)
             for (unsigned i = 0; i < FileTypeSize; i++)
                 getHelpFiles(query, (WUFileType) i, helpers, flags, helpersCount);
         }
-
+#ifndef _CONTAINERIZED
         getWorkunitThorLogInfo(helpers, info, flags, helpersCount);
 
         if (cw->getWuidVersion() > 0)
@@ -625,6 +625,7 @@ void WsWuInfo::getHelpers(IEspECLWorkunit &info, unsigned long flags)
                 break;
             }
         }
+#endif
 
         info.setHelpers(helpers);
         info.setHelpersCount(helpersCount);
@@ -1063,6 +1064,7 @@ void WsWuInfo::getInfo(IEspECLWorkunit &info, unsigned long flags)
     getServiceNames(info, flags);
 }
 
+#ifndef _CONTAINERIZED
 unsigned WsWuInfo::getWorkunitThorLogInfo(IArrayOf<IEspECLHelpFile>& helpers, IEspECLWorkunit &info, unsigned long flags, unsigned& helpersCount)
 {
     unsigned countThorLog = 0;
@@ -1249,6 +1251,7 @@ unsigned WsWuInfo::getWorkunitThorLogInfo(IArrayOf<IEspECLHelpFile>& helpers, IE
 
     return countThorLog;
 }
+#endif
 
 bool WsWuInfo::getClusterInfo(IEspECLWorkunit &info, unsigned long flags)
 {
@@ -1895,6 +1898,7 @@ void WsWuInfo::readFileContent(const char* sourceFileName, const char* sourceIPA
         throw MakeStringException(ECLWATCH_CANNOT_READ_FILE, "Cannot read %s.", sourceAlias);
 }
 
+#ifndef _CONTAINERIZED
 void WsWuInfo::getWorkunitEclAgentLog(const char* processName, const char* fileName, const char* agentPid, MemoryBuffer& buf, const char* outFile)
 {
     if (isEmptyString(processName) && isEmptyString(fileName))
@@ -2227,6 +2231,7 @@ void WsWuInfo::getWUProcessLogSpecs(const char* processName, const char* logSpec
     if (logSpecs.length() > 1)
         logSpecs.sortAscii(false); //Sort the logSpecs from old to new
 }
+#endif
 
 void WsWuInfo::getWorkunitResTxt(MemoryBuffer& buf)
 {
@@ -2496,7 +2501,7 @@ void WsWuInfo::getArchiveFile(IPropertyTree* archive, const char* moduleName, co
 
     file.set(archive->queryProp(xPath.str()));
 }
-
+#ifndef _CONTAINERIZED
 void WsWuInfo::outputALine(size32_t length, const char* content, MemoryBuffer& outputBuf, IFileIOStream* outIOS)
 {
     if (outIOS)
@@ -2504,6 +2509,7 @@ void WsWuInfo::outputALine(size32_t length, const char* content, MemoryBuffer& o
     else
         outputBuf.append(length, content);
 }
+#endif
 
 WsWuSearch::WsWuSearch(IEspContext& context,const char* owner,const char* state,const char* cluster,const char* startDate,const char* endDate,const char* jobname)
 {
@@ -3478,6 +3484,7 @@ void CWsWuFileHelper::cleanFolder(IFile* folder, bool removeFolder)
         folder->remove();
 }
 
+#ifndef _CONTAINERIZED
 void CWsWuFileHelper::createProcessLogfile(IConstWorkUnit* cwu, WsWuInfo& winfo, const char* process, const char* path)
 {
     BoolHash uniqueProcesses;
@@ -3580,6 +3587,7 @@ void CWsWuFileHelper::createThorSlaveLogfile(IConstWorkUnit* cwu, WsWuInfo& winf
     }
     threadPool->joinAll();
 }
+#endif
 
 void CWsWuFileHelper::createZAPInfoFile(const char* url, const char* espIP, const char* thorIP, const char* problemDesc,
     const char* whatChanged, const char* timing, IConstWorkUnit* cwu, const char* pathNameStr)
@@ -3778,10 +3786,12 @@ void CWsWuFileHelper::createWUZAPFile(IEspContext& context, IConstWorkUnit* cwu,
     createZAPWUXMLFile(winfo, inFileNamePrefixWithPath.str());
     createZAPWUGraphProgressFile(request.wuid.str(), inFileNamePrefixWithPath.str());
     createZAPWUQueryAssociatedFiles(cwu, folderToZIP);
+#ifndef _CONTAINERIZED
     createProcessLogfile(cwu, winfo, "EclAgent", folderToZIP.str());
     createProcessLogfile(cwu, winfo, "Thor", folderToZIP.str());
     if (request.includeThorSlaveLog.isEmpty() || strieq(request.includeThorSlaveLog.str(), "on"))
         createThorSlaveLogfile(cwu, winfo, folderToZIP.str());
+#endif
 
     //Write out to ZIP file
     int zipRet = zipAFolder(folderToZIP.str(), request.password.str(), zipFileNameWithPath);
@@ -4034,6 +4044,7 @@ void CWsWuFileHelper::readWUFile(const char* wuid, const char* workingFolder, Ws
         winfo.getWorkunitResTxt(mb);
         writeToFileIOStream(workingFolder, fileName.str(), mb);
         break;
+#ifndef _CONTAINERIZED
     case CWUFileType_ThorLog:
         fileName.set("thormaster.log");
         fileMimeType.set(HTTP_TYPE_TEXT_PLAIN);
@@ -4056,6 +4067,7 @@ void CWsWuFileHelper::readWUFile(const char* wuid, const char* workingFolder, Ws
         fileNameWithPath.set(workingFolder).append(PATHSEPCHAR).append(fileName.str());
         winfo.getWorkunitEclAgentLog(nullptr, item.getName(), item.getProcess(), mb, fileNameWithPath.str());
         break;
+#endif
     case CWUFileType_XML:
     {
         StringBuffer name(item.getName());

+ 16 - 1
esp/services/ws_workunits/ws_workunitsHelpers.hpp

@@ -38,9 +38,13 @@ namespace ws_workunits {
 
 #define    File_Cpp "cpp"
 #define    File_Log "log"
+
+#ifndef _CONTAINERIZED
 #define    File_ThorLog "ThorLog"
 #define    File_ThorSlaveLog "ThorSlaveLog"
 #define    File_EclAgentLog "EclAgentLog"
+#endif
+
 #define    File_XML "XML"
 #define    File_Res "res"
 #define    File_DLL "dll"
@@ -143,10 +147,13 @@ class WsWuInfo
     IEspWUArchiveFile* readArchiveFileAttr(IPropertyTree& fileTree, const char* path);
     IEspWUArchiveModule* readArchiveModuleAttr(IPropertyTree& moduleTree, const char* path);
     void readArchiveFiles(IPropertyTree* archiveTree, const char* path, IArrayOf<IEspWUArchiveFile>& files);
+#ifndef _CONTAINERIZED
     void outputALine(size32_t len, const char* content, MemoryBuffer& outputBuf, IFileIOStream* outIOS);
     bool parseLogLine(const char* line, const char* endWUID, unsigned& processID, const unsigned columnNumPID);
     void readWorkunitThorLog(const char* processName, const char* logSpec, const char* slaveIPAddress, unsigned slaveNum, MemoryBuffer& buf, const char* outFile);
     void readWorkunitThorLogOneDay(IFile* ios, unsigned& processID, MemoryBuffer& buf, IFileIOStream* outIOS);
+#endif
+
     void readFileContent(const char* sourceFileName, const char* sourceIPAddress,
         const char* sourceAlias, MemoryBuffer &mb, bool forDownload);
     void copyContentFromRemoteFile(const char* sourceFileName, const char* sourceIPAddress,
@@ -204,6 +211,7 @@ public:
     void getStats(const WuScopeFilter & filter, const StatisticsFilter& statsFilter, bool createDescriptions, IArrayOf<IEspWUStatisticItem>& statistics);
     void getServiceNames(IEspECLWorkunit &info, unsigned long flags);
 
+#ifndef _CONTAINERIZED
     void getWUProcessLogSpecs(const char* processName, const char* logSpec, const char* logDir, bool eclAgent, StringArray& logSpecs);
     void getWorkunitEclAgentLog(const char *processName, const char* eclAgentInstance, const char* agentPid, MemoryBuffer& buf, const char* outFile);
     void getWorkunitThorMasterLog(const char *processName, const char* fileName, MemoryBuffer& buf, const char* outFile);
@@ -212,6 +220,8 @@ public:
     void getWorkunitThorSlaveLog(IPropertyTree* directories, const char *process,
         const char* instanceName, const char *ipAddress, const char* logDate, int slaveNum,
         MemoryBuffer& buf, const char* outFile, bool forDownload);
+#endif
+
     void getWorkunitResTxt(MemoryBuffer& buf);
     void getWorkunitArchiveQuery(StringBuffer& str);
     void getWorkunitArchiveQuery(MemoryBuffer& mb);
@@ -222,7 +232,9 @@ public:
         bool forDownload, bool addXMLDeclaration, MemoryBuffer& buf, const char* outFile);
     void getWorkunitCpp(const char* cppname, const char* description, const char* ipAddress, MemoryBuffer& buf, bool forDownload, const char* outFile);
     void getEventScheduleFlag(IEspECLWorkunit &info);
+#ifndef _CONTAINERIZED
     unsigned getWorkunitThorLogInfo(IArrayOf<IEspECLHelpFile>& helpers, IEspECLWorkunit &info, unsigned long flags, unsigned& helpersCount);
+#endif
     IDistributedFile* getLogicalFileData(IEspContext& context, const char* logicalName, bool& showFileContent);
 
     IPropertyTree* getWorkunitArchive();
@@ -624,8 +636,10 @@ class CWsWuFileHelper
     void createZAPECLQueryArchiveFiles(IConstWorkUnit *cwu, const char *pathNameStr);
     void createZAPWUQueryAssociatedFiles(IConstWorkUnit *cwu, const char *pathToCreate);
     void createZAPWUGraphProgressFile(const char *wuid, const char *pathNameStr);
+#ifndef _CONTAINERIZED
     void createProcessLogfile(IConstWorkUnit *cwu, WsWuInfo &winfo, const char *process, const char *path);
     void createThorSlaveLogfile(IConstWorkUnit *cwu, WsWuInfo &winfo, const char *path);
+#endif
     void writeZAPWUInfoToIOStream(IFileIOStream *outFile, const char *name, SCMStringBuffer &value);
     void writeZAPWUInfoToIOStream(IFileIOStream *outFile, const char *name, const char *value);
 public:
@@ -658,6 +672,7 @@ public:
     void send(const char *body, const void *attachment, size32_t lenAttachment, StringArray &warnings);
 };
 
+#ifndef _CONTAINERIZED
 class CGetThorSlaveLogToFileThreadParam : public CInterface
 {
     WsWuInfo* wuInfo;
@@ -717,7 +732,7 @@ public:
         return new CGetThorSlaveLogToFileThread();
     }
 };
-
+#endif
 
 }
 #endif

+ 2 - 0
esp/services/ws_workunits/ws_workunitsService.cpp

@@ -3092,6 +3092,7 @@ bool CWsWorkunitsEx::onWUFile(IEspContext &context,IEspWULogFileRequest &req, IE
                 winfo.getWorkunitResTxt(mb);
                 openSaveFile(context, opt, req.getSizeLimit(), "res.txt", HTTP_TYPE_TEXT_PLAIN, mb, resp);
             }
+#ifndef _CONTAINERIZED
             else if (strncmp(req.getType(), File_ThorLog, 7) == 0)
             {
                 winfo.getWorkunitThorMasterLog(nullptr, req.getName(), mb, nullptr);
@@ -3108,6 +3109,7 @@ bool CWsWorkunitsEx::onWUFile(IEspContext &context,IEspWULogFileRequest &req, IE
                 winfo.getWorkunitEclAgentLog(nullptr, req.getName(), req.getProcess(), mb, nullptr);
                 openSaveFile(context, opt, req.getSizeLimit(), "eclagent.log", HTTP_TYPE_TEXT_PLAIN, mb, resp);
             }
+#endif
             else if (strieq(File_XML,req.getType()) && notEmpty(req.getName()))
             {
                 const char* name  = req.getName();