Review Board 1.7.22


Enhance HBase RPC to support free-ing up server handler threads even if response is not ready

Review Request #1174 - Created July 21, 2011 and updated

Vlad Dogaru
trunk
HBASE-3899
Reviewers
hbase
hbase-git
Free up RPC server Handler thread if the called routine specifies the call should be delayed. The RPC client sees no difference, changes are server-side only. This is based on the previous submitted patch from Dhruba.
Unit tests run. Also, the patch includes a new unit test.
Review request changed
Updated (July 26, 2011, 1:19 a.m.)
* Add checking for number of calls currently delayed. A warning message is issued if too many calls are delayed.
* Unit test to check that above warning works.
* endDelay() now takes an Object as a parameter, not a Writable. Initially, I thought the method that ended the delay should pack the response (i.e. endDelay(new HbaseObjectWritable(retval))), but it makes more sense to pack it in setResponse.
* Address other feedback from Todd Lipcon. Thanks!
Ship it!
Posted (July 26, 2011, 1:38 a.m.)
Looks good. Have you run the full test suite with the current iteration of the patch?
  1. Yes, tests are fine with the current patch.