hbase-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From N Keywal <nkey...@gmail.com>
Subject Re: after region split, client didnt get result after timeout setting,so the cachedLocation didnot update, client still query the old region id
Date Fri, 10 Aug 2012 11:12:31 GMT

What are your queries exactly? What's the HBase version?

The mechanism is:
- There is a location cache, per HConnection, on the client
- The client first tries the region server in its cache
- if it fails, the client removes this entry from the cache and enters
the retry loop
- there is a limited amount of retries and a sleep between the retries
- most of the times, the client will connect to meta to get the new location

When there are multiple queries, before HBASE-5924, the errors will be
analyzed after the other regions servers has returned as well. It
could be an explanation. HBASE-5877 exists as well, but only for
moves, not for splits...



On Fri, Aug 10, 2012 at 11:26 AM, deanforwever2010
<deanforwever2010@gmail.com> wrote:
> on the region server's log :2012-08-10 11:49:50,796 DEBUG
> org.apache.hadoop.hbase.regionserver.HRegionServer:
> NotServingRegionException; Region is not online:
> test_list,zWPpyme,1342510667492.91486e7fa0ac39048276848a2618479b.
> after region split, client didnt get result after timeout setting(1.5
> second),then the task is canceled by my program, so the HConnectionManager
> didnt delete the cachedLocation;
> the client  still query the old region id which is no more exists
> And more, part of my processes updated the region location info, part
> not.I'm sure the network is fine;
> how to fix the problem?why does it need so long time to detect the new
> regions?

View raw message