1
0
mirror of https://github.com/mariadb-corporation/mariadb-columnstore-engine.git synced 2025-08-01 06:46:55 +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

@ -89,7 +89,7 @@ public:
*/
EXPORT virtual ~DistributedEngineComm();
EXPORT static DistributedEngineComm* instance(ResourceManager& rm, bool isExeMgr=false);
EXPORT static DistributedEngineComm* instance(ResourceManager* rm, bool isExeMgr=false);
/** @brief delete the static instance
* This has the effect of causing the connection to be rebuilt
@ -217,7 +217,7 @@ private:
//The mapping of session ids to StepMsgQueueLists
typedef std::map<unsigned, boost::shared_ptr<MQE> > MessageQueueMap;
explicit DistributedEngineComm(ResourceManager& rm, bool isExeMgr);
explicit DistributedEngineComm(ResourceManager* rm, bool isExeMgr);
void StartClientListener(boost::shared_ptr<messageqcpp::MessageQueueClient> cl, uint32_t connIndex);
@ -234,7 +234,7 @@ private:
uint32_t senderID = std::numeric_limits<uint32_t>::max(), bool doInterleaving=false);
static DistributedEngineComm* fInstance;
ResourceManager& fRm;
ResourceManager* fRm;
ClientList fPmConnections; // all the pm servers
ReaderList fPmReader; // all the reader threads for the pm servers