Pārlūkot izejas kodu

Merge pull request #8017 from ghalliday/issue14604

HPCC-14604 Remove internal errors accessing more modern workunits

Reviewed-By: Richard Chapman <rchapman@hpccsystems.com>
Richard Chapman 9 gadi atpakaļ
vecāks
revīzija
792cf1c828
1 mainītis faili ar 12 papildinājumiem un 6 dzēšanām
  1. 12 6
      system/jlib/jstats.cpp

+ 12 - 6
system/jlib/jstats.cpp

@@ -254,6 +254,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;
@@ -545,17 +548,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";
 }
 
 //--------------------------------------------------------------------------------------------------------------------
@@ -571,9 +576,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";
 }
 
 const char * queryLegacyTreeTag(StatisticKind kind)