diff --git a/dbcon/joblist/pdictionaryscan.cpp b/dbcon/joblist/pdictionaryscan.cpp index 17316ac97..25fabdcde 100644 --- a/dbcon/joblist/pdictionaryscan.cpp +++ b/dbcon/joblist/pdictionaryscan.cpp @@ -365,7 +365,17 @@ void pDictionaryScan::sendPrimitiveMessages() msgLbidCount = remainingLbids; if (dbRootConnectionMap->find(dbroot) == dbRootConnectionMap->end()) - throw IDBExcept(ERR_DATA_OFFLINE); + { + // MCOL-259 force a reload of the xml. This usualy fixes it. + std::cout << "dictionary forcing reload of columnstore.xml for dbRootConnectionMap" << std::endl; + oamCache->forceReload(); + dbRootConnectionMap = oamCache->getDBRootToConnectionMap(); + if (dbRootConnectionMap->find(dbroot) == dbRootConnectionMap->end()) + { + std::cout << "dictionary still not in dbRootConnectionMap" << std::endl; + throw IDBExcept(ERR_DATA_OFFLINE); + } + } sendAPrimitiveMessage(primMsg, msgLbidStart, msgLbidCount, (*dbRootConnectionMap)[dbroot]); primMsg.restart(); diff --git a/dbcon/joblist/tuple-bps.cpp b/dbcon/joblist/tuple-bps.cpp index adb2c5d82..a8d1cbfb9 100644 --- a/dbcon/joblist/tuple-bps.cpp +++ b/dbcon/joblist/tuple-bps.cpp @@ -1621,7 +1621,17 @@ void TupleBPS::makeJobs(vector *jobs) // a necessary DB root is offline if (dbRootConnectionMap->find(scannedExtents[i].dbRoot) == dbRootConnectionMap->end()) - throw IDBExcept(ERR_DATA_OFFLINE); + { + // MCOL-259 force a reload of the xml. This usualy fixes it. + std::cout << "forcing reload of columnstore.xml for dbRootConnectionMap" << std::endl; + oamCache->forceReload(); + dbRootConnectionMap = oamCache->getDBRootToConnectionMap(); + if (dbRootConnectionMap->find(scannedExtents[i].dbRoot) == dbRootConnectionMap->end()) + { + std::cout << "still not in dbRootConnectionMap" << std::endl; + throw IDBExcept(ERR_DATA_OFFLINE); + } + } // cout << " session " << fSessionId << " idx = " << i << " HWM = " << scannedExtents[i].HWM // << " ... will scan " << lbidsToScan << " lbids\n"; diff --git a/dbcon/joblist/tuplehashjoin.cpp b/dbcon/joblist/tuplehashjoin.cpp index 38aab2ebc..9726b5fd4 100644 --- a/dbcon/joblist/tuplehashjoin.cpp +++ b/dbcon/joblist/tuplehashjoin.cpp @@ -337,7 +337,7 @@ next: /* If there was an error or an abort drain the input DL, do endOfInput on the output */ if (cancelled()) { - cout << "HJ stopping... status is " << status() << endl; +// cout << "HJ stopping... status is " << status() << endl; if (largeBPS) largeBPS->abort(); while (more)