1
0
mirror of https://github.com/mariadb-corporation/mariadb-columnstore-engine.git synced 2025-07-29 08:21:15 +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,8 +1405,19 @@ struct BPPHandler
it = bppMap.find(uniqueID);
if (it != bppMap.end()) {
it->second->abort();
bppMap.erase(it);
boost::shared_ptr<BPPV> bppv = it->second;
if (bppv->joinDataReceived)
{
bppv->abort();
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 {
//cout << "got a destroy for an unknown obj " << uniqueID << endl;