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
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.