1
0
mirror of https://github.com/mariadb-corporation/mariadb-columnstore-engine.git synced 2025-06-13 16:01:32 +03:00

MCOL-5166 This patch adds support for in-memory communication b/w EM to PP via a shared queue in DEC class

JobList low-level code relateod to primitive jobs now uses shared pointers instead of ByteStream refs talking to DEC
b/c same-node EM-PP communication now goes over a queue in DEC instead of a network hop.
PP now has a separate thread that processes the primitive job messages from that DEC queue.
This commit is contained in:
Roman Nozdrin
2022-07-21 19:37:18 +00:00
committed by Leonid Fedorov
parent 9ef16c6ded
commit a9d8924683
11 changed files with 418 additions and 232 deletions

View File

@ -218,13 +218,17 @@ void MessageQueueClient::setup(bool syncProto)
}
MessageQueueClient::MessageQueueClient(const string& otherEnd, const string& config, bool syncProto)
: fOtherEnd(otherEnd), fConfig(Config::makeConfig(config)), fLogger(31), fIsAvailable(true)
: fOtherEnd(otherEnd)
, fConfig(Config::makeConfig(config))
, fLogger(31)
, fIsAvailable(true)
, atTheSameHost_(false)
{
setup(syncProto);
}
MessageQueueClient::MessageQueueClient(const string& otherEnd, Config* config, bool syncProto)
: fOtherEnd(otherEnd), fConfig(config), fLogger(31), fIsAvailable(true)
: fOtherEnd(otherEnd), fConfig(config), fLogger(31), fIsAvailable(true), atTheSameHost_(false)
{
if (fConfig == 0)
fConfig = Config::makeConfig();
@ -233,7 +237,7 @@ MessageQueueClient::MessageQueueClient(const string& otherEnd, Config* config, b
}
MessageQueueClient::MessageQueueClient(const string& dnOrIp, uint16_t port, bool syncProto)
: fLogger(31), fIsAvailable(true)
: fLogger(31), fIsAvailable(true), atTheSameHost_(false)
{
#ifdef SKIP_IDB_COMPRESSION
fClientSock.setSocketImpl(new InetStreamSocket());