Yes...each region has roughly 300,000 rows, 60 million rows total. The rows are large, ~ 20,000 bytes.
But in my tests, I'm setting filters such that only 1 KV should be returned to the client. And I'm seeing these issues even when I set start and stop rows on the scanner so that all regions won't be scanned. If i set start and stop rows to cover from 1 to 20 regions, it works fine. Any more regions than that and I see the socket exceptions. On Wed, Jun 29, 2011 at 6:47 PM, Ted Yu <[email protected]> wrote: > Can you tell us roughly how large the 200 regions are ? > You can run the rowcounter util. > > Without seeing your (GetListClient) code, I am not able to tell why > AggregationClient didn't have the following issue. > > On Wed, Jun 29, 2011 at 3:24 PM, Nichole Treadway <[email protected] > >wrote: > > > I've implemented my own coprocessor client, protocol and implementation > > that > > returns back to the user a List of KeyValues with values that match some > > criteria. I've tested this on a small table with just a few regions and > it > > works fine. I'm running into issues when I execute my code on a table > with > > 200 regions, and I'm not really sure how to resolve the issue. I'm > getting > > a > > SocketTimeoutException shown below. > > > > I'm able to run the AggregationClient coprocessor without seeing these > > issues. It might be something I'm doing in my code, but if anybody has > any > > ideas why the request seems to be timing out or what I can do about it, > I'd > > appreciate that. > > > > > > I'm running latest revision of hbase-0.92 and hadoop-0.20-append. My > > cluster > > has 15 regionservers. Running on RHEL 5.5, 64-bit. > > > > > > Some highlights of the errors are below...i've put the full thing in > > pastebin here: http://pastebin.com/rapYiNp3 > > > > > > 11/06/29 17:35:12 INFO ipc.HBaseRPC: Using > > org.apache.hadoop.hbase.ipc.WritableRpcEngine for > > org.apache.hadoop.hbase.ipc.HRegionInterface > > 11/06/29 17:48:12 WARN > client.HConnectionManager$HConnectionImplementation: > > Error executing for row 00223199610B220970111:2:0:7524:: > > java.util.concurrent.ExecutionException: > > org.apache.hadoop.hbase.client.RetriesExhaustedException: Trying to > contact > > region server mysite.com/myip:62091 for region > > > > > info_test,00223199610B220970111:2:0:7524::,1309363489443.c3192674341c8d10d84966e8e663a644., > > row '00223199610B220970111:2:0:7524::', but failed after 10 attempts. > > > > Exceptions: > > java.net.SocketTimeoutException: Call to mysite.com/myip:62091 failed on > > socket timeout exception: java.net.SocketTimeoutException: 60000 millis > > timeout while waiting for channel to be ready for read. ch : > > java.nio.channels.SocketChannel[connected local=/myip:14738 remote= > > mysite.com/myip:62091] > > > > at > > > > > org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.getRegionServerWithRetries(HConnectionManager.java:1215) > > at > > org.apache.hadoop.hbase.ipc.ExecRPCInvoker.invoke(ExecRPCInvoker.java:79) > > at $Proxy1.getList(Unknown Source) > > at > > > > > org.apache.hadoop.hbase.client.coprocessor.GetListClient$1.call(GetListClient.java:108) > > at > > > > > org.apache.hadoop.hbase.client.coprocessor.GetListClient$1.call(GetListClient.java:105) > > at > > > > > org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation$4.call(HConnectionManager.java:1325) > > at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) > > at java.util.concurrent.FutureTask.run(FutureTask.java:138) > > at > > > > > java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) > > at > > > > > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) > > at java.lang.Thread.run(Thread.java:662) > > >
