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

@ -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();