You've already forked mariadb-columnstore-engine
mirror of
https://github.com/mariadb-corporation/mariadb-columnstore-engine.git
synced 2025-07-30 19:23:07 +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:
@ -1405,8 +1405,19 @@ 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;
|
||||||
bppMap.erase(it);
|
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 {
|
else {
|
||||||
//cout << "got a destroy for an unknown obj " << uniqueID << endl;
|
//cout << "got a destroy for an unknown obj " << uniqueID << endl;
|
||||||
|
Reference in New Issue
Block a user