1
0
mirror of https://github.com/mariadb-corporation/mariadb-columnstore-engine.git synced 2025-07-29 08:21:15 +03:00

MCOL-507 Further ExeMgr performance improvements

This does the following:

* Switch resource manager to a singleton which reduces the amount of
times the XML data is scanned and objects allocated.
* Make the I_S tables use the FE implementation of the system catalog
* Make the I_S.columnstore_columns table use the RID list cache
* Make the extentmap pre-allocate a vector instead of many small allocs
This commit is contained in:
Andrew Hutchings
2017-01-16 12:33:27 +00:00
parent 605f6c51e2
commit ffcfc41563
49 changed files with 197 additions and 178 deletions

View File

@ -179,7 +179,7 @@ namespace WriteEngine {
void WEClients::Setup()
{
makeBusy(true);
joblist::ResourceManager rm;
joblist::ResourceManager *rm = joblist::ResourceManager::instance();
oam::Oam oam;
string ipAddress;
ModuleTypeConfig moduletypeconfig;
@ -224,7 +224,7 @@ void WEClients::Setup()
string fServer (buff);
boost::shared_ptr<MessageQueueClient>
cl(new MessageQueueClient(fServer, rm.getConfig()));
cl(new MessageQueueClient(fServer, rm->getConfig()));
boost::shared_ptr<boost::mutex> nl(new boost::mutex());
//Bug 5224. Take out the retrys. If connection fails, we assume the server is down.
try {

View File

@ -34,6 +34,7 @@
using namespace std;
#include "we_messages.h"
#include "resourcemanager.h"
#include <sys/time.h>
@ -141,7 +142,6 @@ WESDHandler::WESDHandler(WESplitterApp& Ref) :
fRef(Ref),
fLog(),
fQId(101), // 101 - took it from air
fRm(),
fOam(),
fModuleTypeConfig(),
fDebugLvl(0),
@ -167,6 +167,7 @@ WESDHandler::WESDHandler(WESplitterApp& Ref) :
fBrmRptVec(),
fpBatchLoader(0)
{
fRm = joblist::ResourceManager::instance();
}
//------------------------------------------------------------------------------

View File

@ -193,7 +193,7 @@ public: // for multi-table support
private:
unsigned int fQId;
joblist::ResourceManager fRm;
joblist::ResourceManager *fRm;
oam::Oam fOam;
oam::ModuleTypeConfig fModuleTypeConfig;
int fDebugLvl;