You've already forked mariadb-columnstore-engine
							
							
				mirror of
				https://github.com/mariadb-corporation/mariadb-columnstore-engine.git
				synced 2025-10-31 18:30:33 +03:00 
			
		
		
		
	feat(MCOL-6082) Cluster with read-only nodes should correctly work with DML
This patch changes logic from counting all nodes to counting only read-write nodes when messaging about DML operations. feat(MCOL-6082): Multiple readers of dbroots using OamCache logic This patch introduces centralized logic of selecting what dbroot is accessible in PrimProc on what node. The logic is in OamCache for time being and can be moved later. Fix build
This commit is contained in:
		
				
					committed by
					
						 Leonid Fedorov
						Leonid Fedorov
					
				
			
			
				
	
			
			
			
						parent
						
							1616b32101
						
					
				
				
					commit
					a9f23729a9
				
			| @@ -1404,7 +1404,9 @@ void DMLProcessor::operator()() | ||||
|       messageqcpp::ByteStream::byte status = 255; | ||||
|       messageqcpp::ByteStream::octbyte rowCount = 0; | ||||
|  | ||||
|       if (fDbrm->getSystemState(stateFlags) > | ||||
|       int rr = fDbrm->getSystemState(stateFlags); | ||||
|  | ||||
|       if (rr > | ||||
|           0)  // > 0 implies succesful retrieval. It doesn't imply anything about the contents | ||||
|       { | ||||
|         messageqcpp::ByteStream results; | ||||
| @@ -1845,7 +1847,7 @@ void DMLProcessor::operator()() | ||||
|  | ||||
| void RollbackTransactionProcessor::processBulkRollback(BRM::TableLockInfo lockInfo, BRM::DBRM* dbrm, | ||||
|                                                        uint64_t uniqueId, | ||||
|                                                        OamCache::dbRootPMMap_t& dbRootPMMap, | ||||
|                                                        OamCache* oamcache, | ||||
|                                                        bool& lockReleased) | ||||
| { | ||||
|   // Take over ownership of stale lock. | ||||
| @@ -1884,7 +1886,7 @@ void RollbackTransactionProcessor::processBulkRollback(BRM::TableLockInfo lockIn | ||||
|  | ||||
|   for (uint32_t i = 0; i < lockInfo.dbrootList.size(); i++) | ||||
|   { | ||||
|     pmId = (*dbRootPMMap)[lockInfo.dbrootList[i]]; | ||||
|     pmId = oamcache->getOwnerPM(lockInfo.dbrootList[i]); | ||||
|     pmSet.insert(pmId); | ||||
|   } | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user