1
0
mirror of https://github.com/mariadb-corporation/mariadb-columnstore-engine.git synced 2025-08-01 06:46:55 +03:00

MCOL-259. Reload the Columnstore.xml if ERR_DATA_OFFLINE would be thrown. If still broke, throw anyway.

This commit is contained in:
David Hall
2016-08-11 15:35:19 -05:00
parent e0805141ac
commit b9bbb67549
3 changed files with 23 additions and 3 deletions

View File

@ -1621,7 +1621,17 @@ void TupleBPS::makeJobs(vector<Job> *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";