1
0
mirror of https://github.com/mariadb-corporation/mariadb-columnstore-engine.git synced 2025-08-01 06:46:55 +03:00

MCOL-5001 This patch merges ExeMgr and PrimProc runtimes

EM and PP are most resource-hungry runtimes.
        The merge enables to control their cummulative
        resource consumption, thread allocation + enables
        zero-copy data exchange b/w local EM and PP facilities.
This commit is contained in:
Roman Nozdrin
2022-03-02 17:13:29 +00:00
committed by Roman Nozdrin
parent 2ec502aaf3
commit e174696351
23 changed files with 2443 additions and 111 deletions

View File

@ -945,7 +945,6 @@ struct AsynchLoader
QueryContext ver;
uint32_t txn;
int compType;
uint8_t dataWidth;
bool LBIDTrace;
uint32_t sessionID;
uint32_t* cacheCount;
@ -1420,8 +1419,8 @@ struct BPPHandler
/* Uncomment these lines to verify duplicate(). == op might need updating */
// if (*bpp != *dup)
// cerr << "createBPP: duplicate mismatch at index " << i <<
// endl;
// cerr << "createBPP: duplicate mismatch at index " << i
// << endl;
// idbassert(*bpp == *dup);
bppv->add(dup);
}
@ -2441,7 +2440,7 @@ PrimitiveServer::~PrimitiveServer()
{
}
void PrimitiveServer::start(Service* service)
void PrimitiveServer::start(Service* service, utils::USpaceSpinLock& startupRaceLock)
{
// start all the server threads
for (int i = 1; i <= fServerThreads; i++)
@ -2452,7 +2451,7 @@ void PrimitiveServer::start(Service* service)
fServerpool.invoke(ServerThread(oss.str(), this));
}
startupRaceLock.release();
service->NotifyServiceStarted();
fServerpool.wait();