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

HPCC-17704 Fix Roxie intermittent result array merge errors

Signed-off-by: Anthony Fishbeck <anthony.fishbeck@lexisnexis.com>
Anthony Fishbeck 8 роки тому
батько
коміт
938bfe4da9
1 змінених файлів з 4 додано та 6 видалено
  1. 4 6
      roxie/ccd/ccdprotocol.cpp

+ 4 - 6
roxie/ccd/ccdprotocol.cpp

@@ -1093,10 +1093,8 @@ public:
         Owned<IXmlWriter> xmlwriter = createIXmlWriterExt(XWFnoindent, 1, content, WTJSON);
         return xmlwriter.getClear();
     }
-    virtual void outputContent()
+    void outputContent()
     {
-        CriticalBlock b1(client->queryCrit());
-
         bool needDelimiter = false;
         ForEachItemIn(seq, contentsMap)
         {
@@ -1132,6 +1130,7 @@ public:
         }
 
         CriticalBlock b(contentsCrit);
+        CriticalBlock b1(client->queryCrit());
 
         StringBuffer responseHead, responseTail;
         if (!resultFilter.ordinality() && !(protocolFlags & HPCC_PROTOCOL_CONTROL))
@@ -1210,10 +1209,8 @@ public:
         Owned<IXmlWriter> xmlwriter = createIXmlWriterExt(0, 1, content, WTStandard);
         return xmlwriter.getClear();
     }
-    virtual void outputContent()
+    void outputContent()
     {
-        CriticalBlock b1(client->queryCrit());
-
         bool needDelimiter = false;
         ForEachItemIn(seq, contentsMap)
         {
@@ -1242,6 +1239,7 @@ public:
             return;
         }
         CriticalBlock b(contentsCrit);
+        CriticalBlock b1(client->queryCrit());
 
         StringBuffer responseHead, responseTail;
         if (!resultFilter.ordinality() && !(protocolFlags & HPCC_PROTOCOL_CONTROL))