[ https://issues.apache.org/jira/browse/HBASE-12731?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Andrew Purtell updated HBASE-12731: ----------------------------------- Attachment: HBASE-12731.patch Parking an untested patch. What this does is extend RegionLoadStats to carry heap occupancy percentage, ExponentialClientBackoffPolicy to factor in heap occupancy once it exceeds a low water mark, pegging backoff to max backoff after it exceeds a high water mark. We repurpose the existing HeapMemoryManager chore to sample heap occupancy. If heap occupancy exceeds the low water mark the chore switches from its normal sleep period to a short sleep period so it can monitor occupancy closely. Finally, in order for RPC code to get the sampled heap occupancy value we add a method to RegionServerServices that exposes the server's HeapMemoryManager. > Heap occupancy based client pushback > ------------------------------------ > > Key: HBASE-12731 > URL: https://issues.apache.org/jira/browse/HBASE-12731 > Project: HBase > Issue Type: New Feature > Reporter: Andrew Purtell > Assignee: Andrew Purtell > Attachments: HBASE-12731.patch > > > If the heap occupancy of a RegionServer is beyond a configurable high water > mark (suggestions: 95%, 98%) then we should reject all user RPCs and only > allow administrative RPCs until occupancy has dropped below a configurable > low water mark (suggestions: 92%). > Implement building on the HBASE-5162 changes. > It might be expensive to check heap occupancy, in which case we can sample it > periodically with a chore and use the last known value in pushback > calculations. -- This message was sent by Atlassian JIRA (v6.3.4#6332)