1
0
mirror of https://github.com/mariadb-corporation/mariadb-columnstore-engine.git synced 2025-08-05 16:15:50 +03:00

During BPP destroy, check the joinDataReceived member function to ensure the END_JOINER command has been processed before destroy.

This commit is contained in:
David Hall
2016-08-08 16:38:38 -05:00
parent b57af447a4
commit 010d660e5f

View File

@@ -1405,9 +1405,20 @@ struct BPPHandler
it = bppMap.find(uniqueID); it = bppMap.find(uniqueID);
if (it != bppMap.end()) { if (it != bppMap.end()) {
it->second->abort(); boost::shared_ptr<BPPV> bppv = it->second;
if (bppv->joinDataReceived)
{
bppv->abort();
bppMap.erase(it); bppMap.erase(it);
} }
else
{
// MCOL-5. On ubuntu, a crash was happening. Checking
// joinDataReceived here fixes it.
// We're not ready for a destroy. Reschedule.
return -1;
}
}
else { else {
//cout << "got a destroy for an unknown obj " << uniqueID << endl; //cout << "got a destroy for an unknown obj " << uniqueID << endl;
bs.rewind(); bs.rewind();