removed try-catch for checkSessionsTimeout because for actor all messages are processed sequentially
This commit is contained in:
		
							parent
							
								
									1507ac69ab
								
							
						
					
					
						commit
						3a00a792c3
					
				@ -966,7 +966,6 @@ class DeviceActorMessageProcessor extends AbstractContextAwareMsgProcessor {
 | 
			
		||||
        final long expTime = System.currentTimeMillis() - systemContext.getSessionInactivityTimeout();
 | 
			
		||||
        List<UUID> expiredIds = null;
 | 
			
		||||
 | 
			
		||||
        try {
 | 
			
		||||
        for (Map.Entry<UUID, SessionInfoMetaData> kv : sessions.entrySet()) { //entry set are cached for stable sessions
 | 
			
		||||
            if (kv.getValue().getLastActivityTime() < expTime) {
 | 
			
		||||
                final UUID id = kv.getKey();
 | 
			
		||||
@ -974,14 +973,8 @@ class DeviceActorMessageProcessor extends AbstractContextAwareMsgProcessor {
 | 
			
		||||
                    expiredIds = new ArrayList<>(1); //most of the expired sessions is a single event
 | 
			
		||||
                }
 | 
			
		||||
                expiredIds.add(id);
 | 
			
		||||
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        } catch (ConcurrentModificationException ignored) {
 | 
			
		||||
            //Sessions are not thread safe and possible exceptions
 | 
			
		||||
            //It is an extremely rare event
 | 
			
		||||
            //Complete session check will perform on the next check
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        if (expiredIds != null) {
 | 
			
		||||
            int removed = 0;
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user