Ben Lau created HBASE-19995:

             Summary: Current Jetty 9 version in HBase master branch can memory 
leak under high traffic
                 Key: HBASE-19995
             Project: HBase
          Issue Type: Bug
          Components: REST
    Affects Versions: 2.0
            Reporter: Ben Lau

There is a memory-leak in Jetty 9 that manifests whenever you hit the call 
queue limit in HBase REST.  The memory-leak leaks both on-heap and off-heap 
objects permanently.  It happens because whenever the call queue for Jetty 
server overflows, the task that is rejected runs a 'reject' method if it is a 
Rejectable to do any cleanup. This clean up is necessary to for example close 
the connection, deallocate any buffers, etc. Unfortunately, in Jetty 9, they 
implemented the 'reject' / cleanup method of the SelectChannelEndpoint as a 
non-blocking call that is not guaranteed to run.  This was later fixed in Jetty 
9.4 and later backported however the version of Jetty 9 pulled in HBase for 
REST comes before this fix.  See 
[] and 

If we want to stay on 9.3.X we could update to 
 which is the latest version of 9.3.  Thoughts?

This message was sent by Atlassian JIRA

Reply via email to