No more failures on missing RE queue
This commit is contained in:
		
							parent
							
								
									5bebf098ab
								
							
						
					
					
						commit
						ec4e2c036f
					
				@ -99,7 +99,14 @@ public class ConsistentHashPartitionService implements PartitionService {
 | 
			
		||||
        int hash = hashFunction.newHasher()
 | 
			
		||||
                .putLong(entityId.getId().getMostSignificantBits())
 | 
			
		||||
                .putLong(entityId.getId().getLeastSignificantBits()).hash().asInt();
 | 
			
		||||
        int partition = Math.abs(hash % partitionSizes.get(serviceQueue));
 | 
			
		||||
        Integer partitionSize = partitionSizes.get(serviceQueue);
 | 
			
		||||
        int partition;
 | 
			
		||||
        if (partitionSize != null) {
 | 
			
		||||
            partition = Math.abs(hash % partitionSize);
 | 
			
		||||
        } else {
 | 
			
		||||
            //TODO: In 2.6/3.1 this should not happen because all Rule Engine Queues will be in the DB and we always know their partition sizes.
 | 
			
		||||
            partition = 0;
 | 
			
		||||
        }
 | 
			
		||||
        boolean isolatedTenant = isIsolated(serviceQueue, tenantId);
 | 
			
		||||
        TopicPartitionInfoKey cacheKey = new TopicPartitionInfoKey(serviceQueue, isolatedTenant ? tenantId : null, partition);
 | 
			
		||||
        return tpiCache.computeIfAbsent(cacheKey, key -> buildTopicPartitionInfo(serviceQueue, tenantId, partition));
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user