Browse Source

Merge branch 'candidate-5.4.8' into candidate-6.0.0

Signed-off-by: Richard Chapman <rchapman@hpccsystems.com>
Richard Chapman 9 years ago
parent
commit
d10a6e7203

+ 2 - 2
initfiles/componentfiles/thor/start_backupnode.in

@@ -114,8 +114,8 @@ fi
 MAXTHREADS=1000
 
 frunssh $INSTANCE_DIR/backupnode.slaves "killall backupnode" -i:$SSHidentityfile -u:$SSHusername -pe:$SSHpassword -t:$SSHtimeout -a:$SSHretries -n:$MAXTHREADS -b >> $logfile 2>&1
-log "frunssh $INSTANCE_DIR/backupnode.slaves \"/bin/sh -c 'mkdir -p `dirname $LOGPATH/${logfile}_node%n.log`; mkdir -p $INSTANCE_DIR; $DEPLOY_DIR/backupnode -T -X $BACKUPNODE_REMOTEDATA %n %c %a %x $2 > $LOGPATH/${logfile}_node%n.log 2>&1'\" -i:$SSHidentityfile -u:$SSHusername -pe:$SSHpassword -t:$SSHtimeout -a:$SSHretries -n:$MAXTHREADS -b >> $logfile 2>&1"
-frunssh $INSTANCE_DIR/backupnode.slaves "/bin/sh -c 'mkdir -p `dirname $LOGPATH/${logfile}_node%n.log`; mkdir -p $INSTANCE_DIR; $DEPLOY_DIR/backupnode -T -X $BACKUPNODE_REMOTEDATA %n %c %a %x $2 > $LOGPATH/${logfile}_node%n.log 2>&1'" -i:$SSHidentityfile -u:$SSHusername -pe:$SSHpassword -t:$SSHtimeout -a:$SSHretries -n:$MAXTHREADS -b >> $logfile 2>&1
+log "frunssh $INSTANCE_DIR/backupnode.slaves \"/bin/sh -c 'mkdir -p $LOGPATH; mkdir -p $INSTANCE_DIR; $DEPLOY_DIR/backupnode -T -X $BACKUPNODE_REMOTEDATA %n %c %a %x $2 > $LOGPATH/backup_node%n.log 2>&1'\" -i:$SSHidentityfile -u:$SSHusername -pe:$SSHpassword -t:$SSHtimeout -a:$SSHretries -n:$MAXTHREADS -b >> $logfile 2>&1"
+frunssh $INSTANCE_DIR/backupnode.slaves "/bin/sh -c 'mkdir -p $LOGPATH; mkdir -p $INSTANCE_DIR; $DEPLOY_DIR/backupnode -T -X $BACKUPNODE_REMOTEDATA %n %c %a %x $2 > $LOGPATH/backup_node%n.log 2>&1'" -i:$SSHidentityfile -u:$SSHusername -pe:$SSHpassword -t:$SSHtimeout -a:$SSHretries -n:$MAXTHREADS -b >> $logfile 2>&1
 
 log "------------------------------"
 log "Waiting for backup to complete"

+ 12 - 6
system/jlib/jstats.cpp

@@ -296,6 +296,9 @@ void formatStatistic(StringBuffer & out, unsigned __int64 value, StatisticMeasur
 {
     switch (measure)
     {
+    case SMeasureNone: // Unknown stat - e.g, on old esp accessing a new workunit
+        out.append(value);
+        break;
     case SMeasureTimeNs:
         formatTime(out, value);
         break;
@@ -591,17 +594,19 @@ StatisticMeasure queryMeasure(StatisticKind kind)
     }
 
     StatisticKind rawkind = (StatisticKind)(kind & StKindMask);
-    dbgassertex(rawkind >= StKindNone && rawkind < StMax);
-    return statsMetaData[rawkind].measure;
+    if (rawkind >= StKindNone && rawkind < StMax)
+        return statsMetaData[rawkind].measure;
+    return SMeasureNone;
 }
 
 const char * queryStatisticName(StatisticKind kind)
 {
     StatisticKind rawkind = (StatisticKind)(kind & StKindMask);
     unsigned variant = (kind / StVariantScale);
-    dbgassertex(rawkind >= StKindNone && rawkind < StMax);
     dbgassertex(variant < (StNextModifier/StVariantScale));
-    return statsMetaData[rawkind].names[variant];
+    if (rawkind >= StKindNone && rawkind < StMax)
+        return statsMetaData[rawkind].names[variant];
+    return "Unknown";
 }
 
 
@@ -635,9 +640,10 @@ const char * queryTreeTag(StatisticKind kind)
 {
     StatisticKind rawkind = (StatisticKind)(kind & StKindMask);
     unsigned variant = (kind / StVariantScale);
-    dbgassertex(rawkind >= StKindNone && rawkind < StMax);
     dbgassertex(variant < (StNextModifier/StVariantScale));
-    return statsMetaData[rawkind].tags[variant];
+    if (rawkind >= StKindNone && rawkind < StMax)
+        return statsMetaData[rawkind].tags[variant];
+    return "@Unknown";
 }
 
 //--------------------------------------------------------------------------------------------------------------------

+ 1 - 1
thorlcr/graph/thgraph.cpp

@@ -326,7 +326,7 @@ bool isDiskInput(ThorActivityKind kind)
 
 void CIOConnection::connect(unsigned which, CActivityBase *destActivity)
 {
-    destActivity->setInput(which, activity->queryActivity(), index);
+    destActivity->setInput(which, activity->queryActivity(true), index);
 }
 
 /////////////////////////////////// 

+ 1 - 1
thorlcr/graph/thgraph.hpp

@@ -351,7 +351,7 @@ public:
     }
     virtual bool prepareContext(size32_t parentExtractSz, const byte *parentExtract, bool checkDependencies, bool shortCircuit, bool async);
 //
-    virtual CActivityBase *queryActivity() { return activity; }
+    virtual CActivityBase *queryActivity(bool checkNull=false) { return activity; }
     virtual void initActivity();
     virtual CActivityBase *factory(ThorActivityKind kind) { assertex(false); return NULL; }
     virtual CActivityBase *factory() { return factory(getKind()); }

+ 2 - 2
thorlcr/slave/slave.cpp

@@ -290,9 +290,9 @@ public:
         }
         haveCreateCtx = true;
     }
-    virtual CActivityBase *queryActivity()
+    virtual CActivityBase *queryActivity(bool checkNull)
     {
-        if (hasNullInput)
+        if (checkNull && hasNullInput)
         {
             CriticalBlock b(nullActivityCs);
             if (!nullActivity)