Browse Source

gh-1831 - Recent change broke dali start if clean

Changes in gh-1646, caused a new dali, with no existing to store, to fail to
start.

Signed-off-by: Jake Smith <jake.smith@lexisnexis.com>
Jake Smith 13 years ago
parent
commit
dbf127566f
1 changed files with 7 additions and 8 deletions
  1. 7 8
      dali/base/dasds.cpp

+ 7 - 8
dali/base/dasds.cpp

@@ -5749,6 +5749,7 @@ void CCovenSDSManager::loadStore(const char *storeName, const bool *abort)
         ICopyArrayOf<CServerRemoteTree> convertQueue;
     } treeMaker(&nodeCreator);
 
+    Owned<IPropertyTree> oldEnvironment;
     try
     {
         bool saveNeeded = false;
@@ -5780,7 +5781,6 @@ void CCovenSDSManager::loadStore(const char *storeName, const bool *abort)
         LOG(MCdebugInfo(100), unknownJob, "store loaded");
         const char *environment = config.queryProp("@environment");
 
-        Owned<IPropertyTree> oldEnvironment;
         if (environment && *environment)
         {
             LOG(MCdebugInfo(100), unknownJob, "loading external Environment from: %s", environment);
@@ -5800,13 +5800,6 @@ void CCovenSDSManager::loadStore(const char *storeName, const bool *abort)
             externalEnvironment = true;
         }
 
-        bool forceGroupUpdate = config.getPropBool("@forceGroupUpdate");
-        StringBuffer response;
-        initClusterGroups(forceGroupUpdate, response, oldEnvironment);
-        if (response.length())
-            PROGLOG("DFS group initialization : %s", response.str()); // should this be a syslog?
-
-
         UInt64Array refExts;
         PROGLOG("Scanning store for external references");
         Owned<IPropertyTreeIterator> rootIter = root->getElements("//*");
@@ -6115,6 +6108,12 @@ void CCovenSDSManager::loadStore(const char *storeName, const bool *abort)
     }
     Owned<IRemoteConnection> conn = connect("/", 0, RTM_INTERNAL, INFINITE);
     initializeInternals(conn->queryRoot());
+    conn.clear();
+    bool forceGroupUpdate = config.getPropBool("@forceGroupUpdate");
+    StringBuffer response;
+    initClusterGroups(forceGroupUpdate, response, oldEnvironment);
+    if (response.length())
+        PROGLOG("DFS group initialization : %s", response.str()); // should this be a syslog?
 }
 
 void CCovenSDSManager::saveStore(const char *storeName, bool currentEdition)