Kaynağa Gözat

Merge branch 'closedown-4.2.x' into closedown-5.0.x

Conflicts:
	esp/services/ws_ecl/ws_ecl_service.cpp

Signed-off-by: Richard Chapman <rchapman@hpccsystems.com>
Richard Chapman 10 yıl önce
ebeveyn
işleme
0d70f2f02b

+ 1 - 1
esp/services/ws_ecl/ws_ecl_service.cpp

@@ -321,7 +321,7 @@ bool CWsEclService::init(const char * name, const char * type, IPropertyTree * c
     ForEach(*cfgTargets)
         targets.append(cfgTargets->query().queryProp(NULL));
 
-    IPropertyTree *vips = serviceTree->queryPropTree(xpath.str());
+    IPropertyTree *vips = serviceTree->queryPropTree("VIPS");
     Owned<IStringIterator> roxieTargets = getTargetClusters("RoxieCluster", NULL);
     ForEach(*roxieTargets)
     {

+ 16 - 12
esp/services/ws_workunits/ws_workunitsQuerySets.cpp

@@ -830,7 +830,8 @@ bool CWsWorkunitsEx::onWUQuerysets(IEspContext &context, IEspWUQuerysetsRequest
 
 void addClusterQueryStates(IPropertyTree* queriesOnCluster, const char *target, const char *id, IArrayOf<IEspClusterQueryState>& clusterStates, double version)
 {
-    queriesOnCluster = queriesOnCluster->queryPropTree("Endpoint[1]/Queries[1]");
+    if (queriesOnCluster)
+        queriesOnCluster = queriesOnCluster->queryPropTree("Endpoint[1]/Queries[1]");
     if (!queriesOnCluster)
         return;
 
@@ -840,21 +841,24 @@ void addClusterQueryStates(IPropertyTree* queriesOnCluster, const char *target,
     clusterState->setCluster(target);
 
     VStringBuffer xpath("Query[@id='%s']", id);
-    IPropertyTree *query = queriesOnCluster->getPropTree(xpath.str());
-    int suspended = query->getPropInt("@suspended");
-    const char* error = query->queryProp("@error");
+    IPropertyTree *query = queriesOnCluster->queryPropTree(xpath.str());
     if (!query)
         clusterState->setState("Not Found");
-    else if (suspended)
+    else
     {
-        clusterState->setState("Suspended");
-        if (suspended<reporting)
-            clusterState->setMixedNodeStates(true);
+        int suspended = query->getPropInt("@suspended");
+        const char* error = query->queryProp("@error");
+        if (0==suspended)
+            clusterState->setState("Available");
+        else
+        {
+            clusterState->setState("Suspended");
+            if (suspended<reporting)
+                clusterState->setMixedNodeStates(true);
+        }
+        if (error && *error)
+            clusterState->setErrors(error);
     }
-    else
-        clusterState->setState("Available");
-    if ((version >=1.46) && error && *error)
-        clusterState->setErrors(error);
 
     clusterStates.append(*clusterState.getClear());
 }

+ 1 - 0
system/jlib/jsuperhash.cpp

@@ -457,6 +457,7 @@ void SuperHashTable::releaseAll(void)
         if (et)
             onRemove(et);
     }
+    tablecount = 0;
 }
 
 void SuperHashTable::kill(void)