You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@hbase.apache.org by Joel Halbert <jo...@su3analytics.com> on 2011/10/07 10:31:32 UTC
HBaseClient call stuck waiting
Hi,
Intermittently I am seeing my client threads stuck waiting on a call to
HBaseClient.call(HBaseClient.java:722)
This is a stand-along instance of HBase (no Hadoop). The client
processes that use it are multi-threaded, and I am using a HTablePool to
get HTable instances.
Has anyone seen this before? Any ideas what could be the cause?
A thread dump of a client process shows:
e.g.
UPDATE_CLIENT_SEEDS" prio=10 tid=0x09fbcc00 nid=0x34e0 in Object.wait()
[0x0ae5a000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:485)
at
org.apache.hadoop.hbase.ipc.HBaseClient.call(HBaseClient.java:722)
- locked <0x30bdd308> (a org.apache.hadoop.hbase.ipc.HBaseClient
$Call)
at org.apache.hadoop.hbase.ipc.HBaseRPC
$Invoker.invoke(HBaseRPC.java:333)
at $Proxy0.get(Unknown Source)
at org.apache.hadoop.hbase.client.HTable$4.call(HTable.java:450)
at org.apache.hadoop.hbase.client.HTable$4.call(HTable.java:448)
at org.apache.hadoop.hbase.client.HConnectionManager
$TableServers.getRegionServerWithRetries(HConnectionManager.java:1040)
at org.apache.hadoop.hbase.client.HTable.get(HTable.java:447)
"R-PPQ-6" daemon prio=10 tid=0x0738e000 nid=0x3510 in Object.wait()
[0x04ac4000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:485)
at
org.apache.hadoop.hbase.ipc.HBaseClient.call(HBaseClient.java:722)
- locked <0x155328e8> (a org.apache.hadoop.hbase.ipc.HBaseClient
$Call)
at org.apache.hadoop.hbase.ipc.HBaseRPC
$Invoker.invoke(HBaseRPC.java:333)
at $Proxy0.get(Unknown Source)
at org.apache.hadoop.hbase.client.HTable$4.call(HTable.java:450)
at org.apache.hadoop.hbase.client.HTable$4.call(HTable.java:448)
at org.apache.hadoop.hbase.client.HConnectionManager
$TableServers.getRegionServerWithRetries(HConnectionManager.java:1040)
at org.apache.hadoop.hbase.client.HTable.get(HTable.java:447)
at
com.su3analytics.sitedelta.pages.PageTable.get(PageTable.java:111)
at
com.su3analytics.sitedelta.pages.PageTable.get(PageTable.java:256)
"R-PPQ-9" daemon prio=10 tid=0x09ded400 nid=0x354a in Object.wait()
[0x019fe000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:485)
at
org.apache.hadoop.hbase.ipc.HBaseClient.call(HBaseClient.java:722)
- locked <0x1576d880> (a org.apache.hadoop.hbase.ipc.HBaseClient
$Call)
at org.apache.hadoop.hbase.ipc.HBaseRPC
$Invoker.invoke(HBaseRPC.java:333)
at $Proxy0.get(Unknown Source)
at org.apache.hadoop.hbase.client.HTable$4.call(HTable.java:450)
at org.apache.hadoop.hbase.client.HTable$4.call(HTable.java:448)
at org.apache.hadoop.hbase.client.HConnectionManager
$TableServers.getRegionServerWithRetries(HConnectionManager.java:1040)
at org.apache.hadoop.hbase.client.HTable.get(HTable.java:447)
Re: HBaseClient call stuck waiting
Posted by Joel Halbert <jo...@su3analytics.com>.
Thanks Vinod, I'll try as you suggest next time the problem occurs and
report back.
On Fri, 2011-10-07 at 01:36 -0700, Vinod Gupta Tankala wrote:
> i haven't seen this before but what i can suggest you is these 2 steps and
> you will probably get more insights -
> 1)
> # bin/hbase shell
> # list
>
> see if the list commands returns back with your list of tables.
>
> 2) take a look at the latest hbase logs and see if there are any FATAL,
> ERROR or WARN logs lately.
>
> thanks
>
> On Fri, Oct 7, 2011 at 1:31 AM, Joel Halbert <jo...@su3analytics.com> wrote:
>
> > Hi,
> >
> > Intermittently I am seeing my client threads stuck waiting on a call to
> > HBaseClient.call(HBaseClient.java:722)
> >
> > This is a stand-along instance of HBase (no Hadoop). The client
> > processes that use it are multi-threaded, and I am using a HTablePool to
> > get HTable instances.
> >
> > Has anyone seen this before? Any ideas what could be the cause?
> >
> > A thread dump of a client process shows:
> >
> > e.g.
> > UPDATE_CLIENT_SEEDS" prio=10 tid=0x09fbcc00 nid=0x34e0 in Object.wait()
> > [0x0ae5a000]
> > java.lang.Thread.State: WAITING (on object monitor)
> > at java.lang.Object.wait(Native Method)
> > at java.lang.Object.wait(Object.java:485)
> > at
> > org.apache.hadoop.hbase.ipc.HBaseClient.call(HBaseClient.java:722)
> > - locked <0x30bdd308> (a org.apache.hadoop.hbase.ipc.HBaseClient
> > $Call)
> > at org.apache.hadoop.hbase.ipc.HBaseRPC
> > $Invoker.invoke(HBaseRPC.java:333)
> > at $Proxy0.get(Unknown Source)
> > at org.apache.hadoop.hbase.client.HTable$4.call(HTable.java:450)
> > at org.apache.hadoop.hbase.client.HTable$4.call(HTable.java:448)
> > at org.apache.hadoop.hbase.client.HConnectionManager
> > $TableServers.getRegionServerWithRetries(HConnectionManager.java:1040)
> > at org.apache.hadoop.hbase.client.HTable.get(HTable.java:447)
> >
> >
> > "R-PPQ-6" daemon prio=10 tid=0x0738e000 nid=0x3510 in Object.wait()
> > [0x04ac4000]
> > java.lang.Thread.State: WAITING (on object monitor)
> > at java.lang.Object.wait(Native Method)
> > at java.lang.Object.wait(Object.java:485)
> > at
> > org.apache.hadoop.hbase.ipc.HBaseClient.call(HBaseClient.java:722)
> > - locked <0x155328e8> (a org.apache.hadoop.hbase.ipc.HBaseClient
> > $Call)
> > at org.apache.hadoop.hbase.ipc.HBaseRPC
> > $Invoker.invoke(HBaseRPC.java:333)
> > at $Proxy0.get(Unknown Source)
> > at org.apache.hadoop.hbase.client.HTable$4.call(HTable.java:450)
> > at org.apache.hadoop.hbase.client.HTable$4.call(HTable.java:448)
> > at org.apache.hadoop.hbase.client.HConnectionManager
> > $TableServers.getRegionServerWithRetries(HConnectionManager.java:1040)
> > at org.apache.hadoop.hbase.client.HTable.get(HTable.java:447)
> > at
> > com.su3analytics.sitedelta.pages.PageTable.get(PageTable.java:111)
> > at
> > com.su3analytics.sitedelta.pages.PageTable.get(PageTable.java:256)
> >
> >
> > "R-PPQ-9" daemon prio=10 tid=0x09ded400 nid=0x354a in Object.wait()
> > [0x019fe000]
> > java.lang.Thread.State: WAITING (on object monitor)
> > at java.lang.Object.wait(Native Method)
> > at java.lang.Object.wait(Object.java:485)
> > at
> > org.apache.hadoop.hbase.ipc.HBaseClient.call(HBaseClient.java:722)
> > - locked <0x1576d880> (a org.apache.hadoop.hbase.ipc.HBaseClient
> > $Call)
> > at org.apache.hadoop.hbase.ipc.HBaseRPC
> > $Invoker.invoke(HBaseRPC.java:333)
> > at $Proxy0.get(Unknown Source)
> > at org.apache.hadoop.hbase.client.HTable$4.call(HTable.java:450)
> > at org.apache.hadoop.hbase.client.HTable$4.call(HTable.java:448)
> > at org.apache.hadoop.hbase.client.HConnectionManager
> > $TableServers.getRegionServerWithRetries(HConnectionManager.java:1040)
> > at org.apache.hadoop.hbase.client.HTable.get(HTable.java:447)
> >
> >
> >
> >
> >
Re: HBaseClient call stuck waiting
Posted by Vinod Gupta Tankala <tv...@readypulse.com>.
i haven't seen this before but what i can suggest you is these 2 steps and
you will probably get more insights -
1)
# bin/hbase shell
# list
see if the list commands returns back with your list of tables.
2) take a look at the latest hbase logs and see if there are any FATAL,
ERROR or WARN logs lately.
thanks
On Fri, Oct 7, 2011 at 1:31 AM, Joel Halbert <jo...@su3analytics.com> wrote:
> Hi,
>
> Intermittently I am seeing my client threads stuck waiting on a call to
> HBaseClient.call(HBaseClient.java:722)
>
> This is a stand-along instance of HBase (no Hadoop). The client
> processes that use it are multi-threaded, and I am using a HTablePool to
> get HTable instances.
>
> Has anyone seen this before? Any ideas what could be the cause?
>
> A thread dump of a client process shows:
>
> e.g.
> UPDATE_CLIENT_SEEDS" prio=10 tid=0x09fbcc00 nid=0x34e0 in Object.wait()
> [0x0ae5a000]
> java.lang.Thread.State: WAITING (on object monitor)
> at java.lang.Object.wait(Native Method)
> at java.lang.Object.wait(Object.java:485)
> at
> org.apache.hadoop.hbase.ipc.HBaseClient.call(HBaseClient.java:722)
> - locked <0x30bdd308> (a org.apache.hadoop.hbase.ipc.HBaseClient
> $Call)
> at org.apache.hadoop.hbase.ipc.HBaseRPC
> $Invoker.invoke(HBaseRPC.java:333)
> at $Proxy0.get(Unknown Source)
> at org.apache.hadoop.hbase.client.HTable$4.call(HTable.java:450)
> at org.apache.hadoop.hbase.client.HTable$4.call(HTable.java:448)
> at org.apache.hadoop.hbase.client.HConnectionManager
> $TableServers.getRegionServerWithRetries(HConnectionManager.java:1040)
> at org.apache.hadoop.hbase.client.HTable.get(HTable.java:447)
>
>
> "R-PPQ-6" daemon prio=10 tid=0x0738e000 nid=0x3510 in Object.wait()
> [0x04ac4000]
> java.lang.Thread.State: WAITING (on object monitor)
> at java.lang.Object.wait(Native Method)
> at java.lang.Object.wait(Object.java:485)
> at
> org.apache.hadoop.hbase.ipc.HBaseClient.call(HBaseClient.java:722)
> - locked <0x155328e8> (a org.apache.hadoop.hbase.ipc.HBaseClient
> $Call)
> at org.apache.hadoop.hbase.ipc.HBaseRPC
> $Invoker.invoke(HBaseRPC.java:333)
> at $Proxy0.get(Unknown Source)
> at org.apache.hadoop.hbase.client.HTable$4.call(HTable.java:450)
> at org.apache.hadoop.hbase.client.HTable$4.call(HTable.java:448)
> at org.apache.hadoop.hbase.client.HConnectionManager
> $TableServers.getRegionServerWithRetries(HConnectionManager.java:1040)
> at org.apache.hadoop.hbase.client.HTable.get(HTable.java:447)
> at
> com.su3analytics.sitedelta.pages.PageTable.get(PageTable.java:111)
> at
> com.su3analytics.sitedelta.pages.PageTable.get(PageTable.java:256)
>
>
> "R-PPQ-9" daemon prio=10 tid=0x09ded400 nid=0x354a in Object.wait()
> [0x019fe000]
> java.lang.Thread.State: WAITING (on object monitor)
> at java.lang.Object.wait(Native Method)
> at java.lang.Object.wait(Object.java:485)
> at
> org.apache.hadoop.hbase.ipc.HBaseClient.call(HBaseClient.java:722)
> - locked <0x1576d880> (a org.apache.hadoop.hbase.ipc.HBaseClient
> $Call)
> at org.apache.hadoop.hbase.ipc.HBaseRPC
> $Invoker.invoke(HBaseRPC.java:333)
> at $Proxy0.get(Unknown Source)
> at org.apache.hadoop.hbase.client.HTable$4.call(HTable.java:450)
> at org.apache.hadoop.hbase.client.HTable$4.call(HTable.java:448)
> at org.apache.hadoop.hbase.client.HConnectionManager
> $TableServers.getRegionServerWithRetries(HConnectionManager.java:1040)
> at org.apache.hadoop.hbase.client.HTable.get(HTable.java:447)
>
>
>
>
>