Переглянути джерело

Merge pull request #7671 from richardkchapman/cassandra-readresult

HPCC-14055 Error from regression suite test "readresult.ecl"

Reviewed-By: Jake Smith <jake.smith@lexisnexis.com>
Reviewed-By: Richard Chapman <rchapman@hpccsystems.com>
Richard Chapman 9 роки тому
батько
коміт
0d43610e7f

+ 9 - 9
plugins/workunitservices/workunitservices.cpp

@@ -318,10 +318,10 @@ static bool addWUQueryFilter(WUSortField *filters, unsigned &count, MemoryBuffer
 static bool serializeWUInfo(IConstWorkUnitInfo &info,MemoryBuffer &mb)
 {
     fixedAppend(mb,24,info.queryWuid());
-    varAppend(mb,64,info.queryUser());
-    varAppend(mb,64,info.queryClusterName());
-    varAppend(mb,64,""); // roxiecluster is obsolete
-    varAppend(mb,256,info.queryJobName());
+    varAppendMax(mb,64,info.queryUser());
+    varAppendMax(mb,64,info.queryClusterName());
+    varAppendMax(mb,64,""); // roxiecluster is obsolete
+    varAppendMax(mb,256,info.queryJobName());
     fixedAppend(mb,10,info.queryStateDesc());
     fixedAppend(mb,7,info.queryPriorityDesc());
     short int prioritylevel = info.getPriorityLevel();
@@ -433,7 +433,7 @@ WORKUNITSERVICES_API void wsWorkunitList(
         addWUQueryFilter(filters, filterCount, filterbuf, fileread, (WUSortField) (WUSFfileread | WUSFnocase));
         addWUQueryFilter(filters, filterCount, filterbuf, filewritten, (WUSortField) (WUSFfilewritten | WUSFnocase));
         addWUQueryFilter(filters, filterCount, filterbuf, username, (WUSortField) (WUSFuser | WUSFnocase));
-        addWUQueryFilter(filters, filterCount, filterbuf, jobname, (WUSortField) (WUSFjob | WUSFnocase));
+        addWUQueryFilter(filters, filterCount, filterbuf, jobname, (WUSortField) (WUSFjob | WUSFwild | WUSFnocase));
         addWUQueryFilter(filters, filterCount, filterbuf, eclcontains, (WUSortField) (WUSFecl | WUSFwild));
         addWUQueryFilter(filters, filterCount, filterbuf, lowwuid, WUSFwuid);
         addWUQueryFilter(filters, filterCount, filterbuf, highwuid, WUSFwuidhigh);
@@ -561,8 +561,8 @@ WORKUNITSERVICES_API void wsWorkunitFilesRead( ICodeContext *ctx, size32_t & __l
         ForEach(*sourceFiles)
         {
             IPropertyTree &item = sourceFiles->query();
-            varAppend(mb, 256, item, "@name");              
-            varAppend(mb, 64, item, "@cluster");                
+            varAppendMax(mb, 256, item, "@name");
+            varAppendMax(mb, 64, item, "@cluster");
             mb.append(item.getPropBool("@super"));
             mb.append((unsigned) item.getPropInt("@useCount"));
         }
@@ -581,9 +581,9 @@ WORKUNITSERVICES_API void wsWorkunitFilesWritten( ICodeContext *ctx, size32_t &
         ForEach(*sourceFiles)
         {
             IPropertyTree &item = sourceFiles->query();
-            varAppend(mb, 256, item, "@name");              
+            varAppendMax(mb, 256, item, "@name");
             fixedAppend(mb, 10, item, "@graph");                
-            varAppend(mb, 64, item, "@cluster");                
+            varAppendMax(mb, 64, item, "@cluster");
             mb.append( (unsigned) item.getPropInt("@kind"));
         }
     }

+ 5 - 5
plugins/workunitservices/workunitservices.ipp

@@ -55,7 +55,7 @@ inline void varAppend(MemoryBuffer &mb,const char * s)
     varAppend(mb, strlen(s), s);
 }
 
-inline void varAppend(MemoryBuffer &mb,unsigned w,IPropertyTree &pt,const char *prop)
+inline void varAppendMax(MemoryBuffer &mb,unsigned w,IPropertyTree &pt,const char *prop)
 {
     StringBuffer s;
     pt.getProp(prop,s);
@@ -82,10 +82,10 @@ inline bool serializeWUSrow(IPropertyTree &pt,MemoryBuffer &mb, bool isonline)
 {
     mb.setEndian(__LITTLE_ENDIAN);
     fixedAppend(mb,24,pt.queryName());
-    varAppend(mb,64,pt,"@submitID");
-    varAppend(mb,64,pt,"@clusterName");
-    varAppend(mb,64,pt,"RoxieQueryInfo/@roxieClusterName"); // No longer likely to be present but retain for compatibility (for now - this needs rewriting to not hit dali directly anyway!)
-    varAppend(mb,256,pt,"@jobName");
+    varAppendMax(mb,64,pt,"@submitID");
+    varAppendMax(mb,64,pt,"@clusterName");
+    varAppendMax(mb,64,pt,"RoxieQueryInfo/@roxieClusterName"); // No longer likely to be present but retain for compatibility (for now - this needs rewriting to not hit dali directly anyway!)
+    varAppendMax(mb,256,pt,"@jobName");
     fixedAppend(mb,10,pt,"@state");
     fixedAppend(mb,7,pt,"@priorityClass");
     short int prioritylevel = calcPriorityValue(&pt);