Got it. Thank you. -----Original Message----- From: Shrijeet Paliwal [mailto:[email protected]] Sent: Thursday, December 15, 2011 9:36 PM To: [email protected] Subject: Re: understanding hbase client timeout settings
Steve, Karthick has given an explanation here : https://reviews.apache.org/r/755/(also in Jira, but it gets lost in comments) On Thu, Dec 15, 2011 at 9:34 PM, Shrijeet Paliwal <[email protected]>wrote: > We needed calls to come back (or timeout) in less than 50ms. That was > low for hbase.rpc.timeout . > > > On Thu, Dec 15, 2011 at 9:30 PM, Steve Boyle <[email protected]>wrote: > >> Shrijeet, >> >> What do you consider a very low value for hbase.rpc.timeout? >> >> Thanks, >> Steve >> >> -----Original Message----- >> From: Shrijeet Paliwal [mailto:[email protected]] >> Sent: Thursday, December 15, 2011 9:03 PM >> To: [email protected] >> Subject: Re: understanding hbase client timeout settings >> >> Steve, >> >> We have been using timeouts in production via two different methods: >> >> 1. Use RPC timeout mechanism provided by HBase client. For this you >> will need both 2937 and 3154. We backported 2937 to 0.90.3. The >> reason 3154 alone does not help is because if you set the conf >> parameter introduced in >> 3154 (hbase.rpc.timeout) to a very low value your calls to meta >> (ROOT and >> META) tables timeout all the time and almost no request go through. >> That is where 2937 comes in. It uses hbase.client.operation.timeout >> knob for all RPC calls except the ones made to meta tables. >> >> 2. Use an async method (example ExecutorService with timeout) to make >> HBase client calls. >> >> In our experience #1 perform better (in terms of % calls timing out). >> >> Having said that I am still interested to hear comments from experts. >> I personally was not able to grasp reasoning behind introduction of >> hbase.client.operation.timeout configuration parameter. >> >> -Shrijeet >> >> On Thu, Dec 15, 2011 at 3:15 PM, Steve Boyle >> <[email protected]> >> wrote: >> > >> > Hi, >> > >> > I'm trying to understand what timeout controls are available in the >> hbase >> client. I'm using hbase version 0.90.4-cdh3u2. I have a client >> application that does gets, puts, increments and scans. I'd like to >> be able to have a client side timeout such that the client can >> clean-up in a case where the response is taking a while for whatever reason. >> > >> > I've seen this jira which indicates that the feature I'm looking >> > for is >> coming in a future release: >> > https://issues.apache.org/jira/browse/HBASE-2937 >> > >> > I've also seen this jira that looks related and appears to be >> > already >> available: >> > https://issues.apache.org/jira/browse/HBASE-3154 >> > >> > What is the best way to control a timeout for the hbase client? >> > >> > Thanks, >> > Steve >> > >> > >> > >> > >
