Hi,
We are using the apache nio http client library, and are running into issues 
where the ioreactor is active, but one of the dispatcher is shutdown. When the 
dispatcher was shutdown, no exception was thrown (in some cases OutOfMemory was 
thrown), and so the exception value is not set.
Here is the code snippet (Worker in AbstractMultiworkerIOReactor.java):        
@Override        public void run() {            try {                
this.dispatcher.execute(this.eventDispatch);            } catch (final 
Exception ex) {                this.exception = ex;            }         }

Now in this case if a throwable is thrown or if the dispatcher exits in some 
other fashion, the exception bit is not set. Due to this the dispatcher is 
considered healthy, and we continue to send requests to the dispatcher which it 
cannot service, and keeps around in the memory, thus causing memory leak. There 
is no code to prevent the dispatcher from accepting request if it is in 
shutdown mode. 
Can you please let me know if this is a known issue? We would like to see if we 
can get a patch to help fix the issue, we can help provide the patch if 
required.
regards,nitu 

Reply via email to