瀏覽代碼

Merge branch 'candidate-6.0.10' into candidate-6.2.0

Signed-off-by: Richard Chapman <rchapman@hpccsystems.com>
Richard Chapman 8 年之前
父節點
當前提交
b1b556c91a

+ 12 - 1
common/remote/sockfile.cpp

@@ -1838,7 +1838,18 @@ public:
         initSendBuffer(sendBuffer);
         MemoryBuffer replyBuffer;
         sendBuffer.append((RemoteFileCommandType)RFCsetfileperms).append(filename).append(fPerms);
-        sendRemoteCommand(sendBuffer, replyBuffer);
+        try
+        {
+            sendRemoteCommand(sendBuffer, replyBuffer);
+        }
+        catch (IDAFS_Exception *e)
+        {
+            if (e->errorCode() == RFSERR_InvalidCommand)
+                WARNLOG("umask setFilePermissions (0%o) not supported on remote server", fPerms);
+            else
+                throw e;
+        }
+
     }
 
     offset_t size()

+ 3 - 3
common/thorhelper/thorrparse.cpp

@@ -3391,11 +3391,11 @@ bool RegexParser::performMatch(IMatchedAction & action, const void * row, unsign
         const byte * end = endData - algo->minPatternLength;
 
         RegexState state(cache, algo->kind, helper, this, algo->inputFormat, len, start);
+        state.row = row;
+        state.processor = &action;
+        state.best = NULL;
         if (len >= algo->minPatternLength)
         {
-            state.row = row;
-            state.processor = &action;
-            state.best = NULL;
             for (const byte * curScan = start; curScan <= end;)
             {
                 state.cur = curScan;

+ 2 - 0
initfiles/etc/DIR_NAME/environment.conf.in

@@ -22,6 +22,8 @@ interface=*
 use_epoll=true
 # allow kernel pagecache flushing where enabled (true/false)
 allow_pgcache_flush=true
+# report UDP network stats
+udp_stats=true
 mpStart=7101
 mpEnd=7500
 mpSoMaxConn=128

+ 1 - 0
initfiles/etc/DIR_NAME/environment.xml.in

@@ -771,6 +771,7 @@
   <log>${LOG_PATH}</log>
   <logfields>TIM+DAT+MLT+MID+PID+TID+COD+QUO+PFX</logfields>
   <use_epoll>true</use_epoll>
+  <udp_stats>true</udp_stats>
   <runtime>${RUNTIME_PATH}</runtime>
   <lock>${LOCK_PATH}</lock>
   <configs>${CONFIG_DIR}</configs>

+ 2 - 1
roxie/ccd/ccdserver.cpp

@@ -9341,7 +9341,8 @@ public:
         puller.stop();
         CRoxieServerActivity::stop();
         pipe.clear();
-        readTransformer->setStream(NULL);
+        if (readTransformer)
+            readTransformer->setStream(NULL);
     }
 
     virtual void reset()

+ 5 - 0
system/jlib/jdebug.cpp

@@ -57,6 +57,7 @@
  #include <mach/mach_host.h>
  #include <mach/vm_statistics.h>
 #endif
+#include "build-config.h"
 
 //===========================================================================
 #ifdef _DEBUG
@@ -2339,6 +2340,10 @@ public:
         hook.set(_hook);
         term = false;
         latestCPU = 0;
+        // UDP stats reported unless explicitly disabled
+        Owned<IProperties> conf = createProperties(CONFIG_DIR PATHSEPSTR "environment.conf", true);
+        if (conf->getPropBool("udp_stats", true))
+            traceMode |= PerfMonUDP;
 #ifdef _WIN32
         memset(&liOldIdleTime,0,sizeof(liOldIdleTime));
         memset(&liOldSystemTime,0,sizeof(liOldSystemTime));

+ 1 - 1
system/jlib/jdebug.hpp

@@ -304,7 +304,7 @@ enum
 #ifdef _WIN32
     PerfMonStandard  = PerfMonProcMem
 #else
-    PerfMonStandard  = PerfMonProcMem|PerfMonExtended|PerfMonUDP
+    PerfMonStandard  = PerfMonProcMem|PerfMonExtended
 #endif
 
 };

+ 3 - 0
testing/regress/ecl/key/pat1.xml

@@ -17,3 +17,6 @@
  <Row><_unnamed_1>true</_unnamed_1><_unnamed_2>Gavin</_unnamed_2><_unnamed_3>Gavin</_unnamed_3><_unnamed_4>5</_unnamed_4><_unnamed_5>1</_unnamed_5><_unnamed_6>false</_unnamed_6><_unnamed_7></_unnamed_7><_unnamed_8>0</_unnamed_8><_unnamed_9>0</_unnamed_9></Row>
  <Row><_unnamed_1>true</_unnamed_1><_unnamed_2>I</_unnamed_2><_unnamed_3>I</_unnamed_3><_unnamed_4>1</_unnamed_4><_unnamed_5>1</_unnamed_5><_unnamed_6>false</_unnamed_6><_unnamed_7></_unnamed_7><_unnamed_8>0</_unnamed_8><_unnamed_9>0</_unnamed_9></Row>
 </Dataset>
+<Dataset name='Result 5'>
+ <Row><_unnamed_1>false</_unnamed_1><_unnamed_2></_unnamed_2><_unnamed_3></_unnamed_3><_unnamed_4>0</_unnamed_4><_unnamed_5>0</_unnamed_5><_unnamed_6>false</_unnamed_6><_unnamed_7></_unnamed_7><_unnamed_8>0</_unnamed_8><_unnamed_9>0</_unnamed_9></Row>
+</Dataset>

+ 3 - 0
testing/regress/ecl/pat1.ecl

@@ -61,3 +61,6 @@ output(outfile3);
 //Return all matching sentances, case insignficant.
 outfile4 := PARSE(infile,text,sentance2,results,nocase,scan,skip(ws*),first);
 output(outfile4);
+
+outfile5 := PARSE(infile,text,patWord,results,nocase,not matched only);
+output(outfile5);

+ 1 - 0
testing/regress/environment.xml.in

@@ -761,6 +761,7 @@
   <log>${LOG_PATH}</log>
   <logfields>TIM+DAT+MLT+MID+PID+TID+COD+QUO+PFX</logfields>
   <use_epoll>true</use_epoll>
+  <udp_stats>true</udp_stats>
   <runtime>${RUNTIME_PATH}</runtime>
   <lock>${LOCK_PATH}</lock>
   <configs>${CONFIG_DIR}</configs>