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
MCOL-5279 This patch forces to send ByteStream with a Primitive message to the remote PPs first and to the local PP last
MCOL-5166 forces EM to interact with PP over a messaging queue when they are in the same process. When ByteStream is taken from the queue it is drained so it is impossible to re-use the same ByteStream to send to the other nodes.
This commit is contained in:
@ -756,7 +756,7 @@ void DistributedEngineComm::sendAcks(uint32_t uniqueID, const vector<SBS>& msgs,
|
|||||||
{
|
{
|
||||||
*toAck = 1;
|
*toAck = 1;
|
||||||
|
|
||||||
for (uint32_t i = 0; i < pmCount; i++)
|
for (int i = pmCount - 1; i >= 0; --i)
|
||||||
{
|
{
|
||||||
if (!pmAcked[i])
|
if (!pmAcked[i])
|
||||||
writeToClient(i, msg);
|
writeToClient(i, msg);
|
||||||
@ -849,7 +849,7 @@ void DistributedEngineComm::setFlowControl(bool enabled, uint32_t uniqueID, boos
|
|||||||
|
|
||||||
msg->advanceInputPtr(sizeof(ISMPacketHeader));
|
msg->advanceInputPtr(sizeof(ISMPacketHeader));
|
||||||
|
|
||||||
for (uint32_t i = 0; i < mqe->pmCount; i++)
|
for (int i = mqe->pmCount - 1; i >= 0; --i)
|
||||||
writeToClient(i, msg);
|
writeToClient(i, msg);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -876,9 +876,7 @@ void DistributedEngineComm::write(uint32_t senderID, const SBS& msg)
|
|||||||
case DICT_DESTROY_EQUALITY_FILTER:
|
case DICT_DESTROY_EQUALITY_FILTER:
|
||||||
/* XXXPAT: This relies on the assumption that the first pmCount "PMS*"
|
/* XXXPAT: This relies on the assumption that the first pmCount "PMS*"
|
||||||
entries in the config file point to unique PMs */
|
entries in the config file point to unique PMs */
|
||||||
uint32_t i;
|
for (int i = pmCount - 1; i >= 0; --i)
|
||||||
|
|
||||||
for (i = 0; i < pmCount; i++)
|
|
||||||
writeToClient(i, msg, senderID);
|
writeToClient(i, msg, senderID);
|
||||||
|
|
||||||
return;
|
return;
|
||||||
|
Reference in New Issue
Block a user