| 
					
				 | 
			
			
				@@ -50,7 +50,7 @@ public class JobTriggerPoolHelper { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     // job timeout count 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     private volatile long minTim = System.currentTimeMillis()/60000;     // ms > min 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    private volatile Map<Integer, AtomicInteger> jobTimeoutCountMap = new ConcurrentHashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private volatile ConcurrentHashMap<Integer, AtomicInteger> jobTimeoutCountMap = new ConcurrentHashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /** 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -89,7 +89,7 @@ public class JobTriggerPoolHelper { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     // incr timeout-count-map 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     long cost = System.currentTimeMillis()-start; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     if (cost > 500) {       // ob-timeout threshold 500ms 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        AtomicInteger timeoutCount = jobTimeoutCountMap.put(jobId, new AtomicInteger(1)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        AtomicInteger timeoutCount = jobTimeoutCountMap.putIfAbsent(jobId, new AtomicInteger(1)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         if (timeoutCount != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                             timeoutCount.incrementAndGet(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         } 
			 |