0.95 client is not compatible with 0.94 cluster. So you cannot use 0.95 client.
Cheers On May 30, 2013, at 6:12 AM, Kireet <[email protected]> wrote: > > > Would there be a problem if our cluster is 0.94 and we use a 0.95 client? > > I am not familiar with the HBase code base, but I did a dump of the thread > that is actually running (below). It seems like it is related to the issue > you mentioned as the running thread is doing the prefetch logic. Would > pre-splitting tables help here? We are doing some performance tests and > essentially starting from an empty instance. > > java.lang.Thread.State: WAITING (on object monitor) > at java.lang.Object.wait(Native Method) > at java.lang.Object.wait(Object.java:503) > at org.apache.zookeeper.ClientCnxn.submitRequest(ClientCnxn.java:1309) > - locked <0x00000000e10cf830> (a org.apache.zookeeper.ClientCnxn$Packet) > at org.apache.zookeeper.ZooKeeper.exists(ZooKeeper.java:1036) > at > org.apache.hadoop.hbase.zookeeper.RecoverableZooKeeper.exists(RecoverableZooKeeper.java:172) > at org.apache.hadoop.hbase.zookeeper.ZKUtil.checkExists(ZKUtil.java:450) > at > org.apache.hadoop.hbase.zookeeper.ZooKeeperNodeTracker.checkIfBaseNodeAvailable(ZooKeeperNodeTracker.java:208) > at > org.apache.hadoop.hbase.zookeeper.RootRegionTracker.waitRootRegionLocation(RootRegionTracker.java:77) > at > org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.locateRegion(HConnectionManager.java:874) > at > org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.locateRegionInMeta(HConnectionManager.java:987) > at > org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.locateRegion(HConnectionManager.java:885) > at > org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.locateRegion(HConnectionManager.java:846) > at org.apache.hadoop.hbase.client.HTable.finishSetup(HTable.java:234) > at org.apache.hadoop.hbase.client.HTable.<init>(HTable.java:174) > at org.apache.hadoop.hbase.client.MetaScanner.metaScan(MetaScanner.java:160) > at org.apache.hadoop.hbase.client.MetaScanner.access$000(MetaScanner.java:54) > at org.apache.hadoop.hbase.client.MetaScanner$1.connect(MetaScanner.java:133) > at org.apache.hadoop.hbase.client.MetaScanner$1.connect(MetaScanner.java:130) > at > org.apache.hadoop.hbase.client.HConnectionManager.execute(HConnectionManager.java:383) > at org.apache.hadoop.hbase.client.MetaScanner.metaScan(MetaScanner.java:130) > at org.apache.hadoop.hbase.client.MetaScanner.metaScan(MetaScanner.java:105) > at > org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.prefetchRegionCache(HConnectionManager.java:947) > at > org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.locateRegionInMeta(HConnectionManager.java:1002) > - locked <0x00000000e882f778> (a java.lang.Object) > at > org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.locateRegion(HConnectionManager.java:889) > at > org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.locateRegion(HConnectionManager.java:846) > at > org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.processBatchCallback(HConnectionManager.java:1533) > at > org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.processBatch(HConnectionManager.java:1418) > at org.apache.hadoop.hbase.client.HTable.batch(HTable.java:702) > at org.apache.hadoop.hbase.client.HTable.get(HTable.java:671) > at > org.apache.hadoop.hbase.client.HTablePool$PooledHTable.get(HTablePool.java:367) > > Thanks > Kireet > > On 5/30/13 12:16 AM, Anoop John wrote: >> Can you have a look at issue HBASE-8476? Seems related? A fix is >> available in HBASE-8346's patch.. >> >> -Anoop- >> >> On Thu, May 30, 2013 at 9:21 AM, Kireet >> <[email protected]> wrote: >> >>> We are running hbase 0.94.6 in a concurrent environment and we are seeing >>> the majority of our code stuck in this method at the synchronized block >>> (line 997). Is there some configuration we can change to avoid it? It seems >>> like we could disable prefetching, but that sounds like it could cause >>> other problems? >>> >>> - org.apache.hadoop.hbase.**client.HConnectionManager$** >>> HConnectionImplementation.**locateRegionInMeta(byte[], byte[], byte[], >>> boolean, java.lang.Object, boolean) @bci=149, line=997 (Compiled frame) >>> - org.apache.hadoop.hbase.**client.HConnectionManager$** >>> HConnectionImplementation.**locateRegion(byte[], byte[], boolean, >>> boolean) @bci=212, line=889 (Compiled frame) >>> - org.apache.hadoop.hbase.**client.HConnectionManager$** >>> HConnectionImplementation.**locateRegion(byte[], byte[]) @bci=5, line=846 >>> (Compiled frame) >>> - org.apache.hadoop.hbase.**client.HConnectionManager$** >>> HConnectionImplementation.**processBatchCallback(java.**util.List, >>> byte[], java.util.concurrent.**ExecutorService, java.lang.Object[], >>> org.apache.hadoop.hbase.**client.coprocessor.Batch$**Callback) @bci=194, >>> line=1533 (Compiled frame) >>> - org.apache.hadoop.hbase.**client.HConnectionManager$** >>> HConnectionImplementation.**processBatch(java.util.List, byte[], >>> java.util.concurrent.**ExecutorService, java.lang.Object[]) @bci=30, >>> line=1418 (Compiled frame) >>> - org.apache.hadoop.hbase.**client.HTable.batch(java.util.**List) >>> @bci=24, line=702 (Compiled frame) >>> - org.apache.hadoop.hbase.**client.HTable.get(java.util.**List) @bci=2, >>> line=671 (Compiled frame) >>> - org.apache.hadoop.hbase.**client.HTablePool$** >>> PooledHTable.get(java.util.**List) @bci=5, line=367 (Compiled frame) >
