Browse Source

Merge pull request #12385 from jakesmith/hpcc-21814

HPCC-21814 Pass 'compressed' flag through fileID

Reviewed-By: James McMullan <james.mcmullan@lexisnexis.com>
Reviewed-By: Richard Chapman <rchapman@hpccsystems.com>
Richard Chapman 6 years ago
parent
commit
587a7a590e
2 changed files with 9 additions and 0 deletions
  1. 7 0
      esp/services/ws_dfu/ws_dfuService.cpp
  2. 2 0
      fs/dafsstream/dafsstream.cpp

+ 7 - 0
esp/services/ws_dfu/ws_dfuService.cpp

@@ -6352,6 +6352,8 @@ bool CWsDfuEx::onDFUFileCreateV2(IEspContext &context, IEspDFUFileCreateV2Reques
         //create FileId
         StringBuffer fileId;
         fileId.set(groupName).append(DFUFileIdSeparator).append(clusterName).append(DFUFileIdSeparator).append(tempFileName);
+        if (req.getCompressed())
+            fileId.append(DFUFileIdSeparator).append("true");
         resp.setFileId(fileId.str());
 
         if (requestId.isEmpty())
@@ -6424,6 +6426,9 @@ bool CWsDfuEx::onDFUFilePublish(IEspContext &context, IEspDFUFilePublishRequest
         const char *groupName = fileIdItems.item(0);
         const char *clusterName = fileIdItems.item(1);
         const char *tempFileName = fileIdItems.item(2);
+        bool compressed = false;
+        if (fileIdItems.ordinality()>=3)
+            compressed = strToBool(fileIdItems.item(3));
         if (isEmptyString(groupName))
              throw makeStringException(ECLWATCH_INVALID_INPUT, "DFUFilePublish: Invalid FileId: empty groupName.");
         if (isEmptyString(clusterName))
@@ -6460,6 +6465,8 @@ bool CWsDfuEx::onDFUFilePublish(IEspContext &context, IEspDFUFilePublishRequest
                 throw makeStringExceptionV(ECLWATCH_FILE_NOT_EXIST, "DFUFilePublish: Failed to find group %s.", groupName);
 
             fileDesc.setown(createFileDescriptor(normalizeTempFileName, clusterTypeEx, groupName, group));
+            if (compressed)
+                fileDesc->queryProperties().setPropBool("@blockCompressed", true);
         }
 
         StringBuffer newFileName = normalizeTempFileName;

+ 2 - 0
fs/dafsstream/dafsstream.cpp

@@ -248,6 +248,8 @@ public:
             //create FileId
             StringBuffer tmp;
             tmp.set(groupName.str()).append(DFUFileIdSeparator).append(clusterName).append(DFUFileIdSeparator).append(name);
+            if (queryIsCompressed())
+                tmp.append(DFUFileIdSeparator).append("true");
             fileId.set(tmp);
         }
     }