That is mark in //CHANGE CODE ---- //END CHANGE CODE HTable ht = new HTable(config, "T1"); byte[] row = Bytes.toBytes(1);
Get get = new Get(row); Result result = ht.get(get); System.out.println(Bytes. toString(result.getValue("F1".getBytes(), "C1".getBytes()))); try { Thread.sleep(60000); } catch (InterruptedException ex) { ex.printStackTrace(); } * //CHANGE CODE config = new Configuration(false); Path hbase = new Path("conf/hbase-site.xml"); config.addResource(hbase); **ht = new HTable(config, "T1");* *//END CHANGE CODE* get = new Get(row); result = ht.get(get); System.out.println(Bytes.toString(result.getValue("F1".getBytes(), "C1".getBytes()))); On Fri, Mar 11, 2011 at 11:19 AM, Stack <st...@duboce.net> wrote: > What did you change (Its hard looking at code to see what line is > different; better to post a diff). > St.Ack > > On Thu, Mar 10, 2011 at 6:09 PM, King JKing <beuk...@gmail.com> wrote: > > After change code to > > HTable ht = new HTable(config, "T1"); > > byte[] row = Bytes.toBytes(1); > > > > Get get = new Get(row); > > Result result = ht.get(get); > > System.out.println(Bytes. > > toString(result.getValue("F1".getBytes(), "C1".getBytes()))); > > > > try { > > Thread.sleep(60000); > > } catch (InterruptedException ex) { > > ex.printStackTrace(); > > } > > > > *ht = new HTable(config, "T1");* > > get = new Get(row); > > result = ht.get(get); > > > > System.out.println(Bytes.toString(result.getValue("F1".getBytes(), > > "C1".getBytes()))); > > > > I got the error: > > > > 11/03/11 08:57:05 WARN zookeeper.ZKUtil: hconnection-0x12ea29ecc580005 > > Unable to get children of node /hbase/rs > > 11/03/11 08:57:05 ERROR zookeeper.ZooKeeperWatcher: > > hconnection-0x12ea29ecc580005 Received unexpected KeeperException, > > re-throwing exception > > org.apache.zookeeper.KeeperException$ConnectionLossException: > > KeeperErrorCode = ConnectionLoss for /hbase/rs > > at > > org.apache.zookeeper.KeeperException.create(KeeperException.java:90) > > at > > org.apache.zookeeper.KeeperException.create(KeeperException.java:42) > > at org.apache.zookeeper.ZooKeeper.exists(ZooKeeper.java:780) > > at > > > org.apache.hadoop.hbase.zookeeper.ZKUtil.getNumberOfChildren(ZKUtil.java:495) > > at > > org.apache.hadoop.hbase.client.HTable.getCurrentNrHRS(HTable.java:207) > > at org.apache.hadoop.hbase.client.HTable.<init>(HTable.java:182) > > at org.apache.hadoop.hbase.client.HTable.<init>(HTable.java:145) > > at > > com.vng.comment.core.storage.TestHBase.testGet4(TestHBase.java:218) > > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > > at > > > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) > > at > > > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > > at java.lang.reflect.Method.invoke(Method.java:616) > > at junit.framework.TestCase.runTest(TestCase.java:168) > > at junit.framework.TestCase.runBare(TestCase.java:134) > > at junit.framework.TestResult$1.protect(TestResult.java:110) > > at junit.framework.TestResult.runProtected(TestResult.java:128) > > > > After change code to > > > > HTable ht = new HTable(config, "T1"); > > byte[] row = Bytes.toBytes(1); > > > > Get get = new Get(row); > > Result result = ht.get(get); > > System.out.println(Bytes. > > toString(result.getValue("F1".getBytes(), "C1".getBytes()))); > > > > try { > > Thread.sleep(60000); > > } catch (InterruptedException ex) { > > ex.printStackTrace(); > > } > > * > > config = new Configuration(false); > > Path hbase = new Path("conf/hbase-site.xml"); > > config.addResource(hbase); > > **ht = new HTable(config, "T1");* > > > > get = new Get(row); > > result = ht.get(get); > > > > System.out.println(Bytes.toString(result.getValue("F1".getBytes(), > > "C1".getBytes()))); > > > > This code run well. > > > > > > On Fri, Mar 11, 2011 at 9:02 AM, King JKing <beuk...@gmail.com> wrote: > > > >> Here is stacktrace: > >> > >> 11/03/11 08:56:44 WARN zookeeper.ClientCnxn: Exception closing session > >> 0x12ea29ecc580005 to sun.nio.ch.SelectionKeyImpl@1175422 > >> java.io.IOException: Read error rc = -1 java.nio.DirectByteBuffer[pos=0 > >> lim=4 cap=4] > >> at > >> org.apache.zookeeper.ClientCnxn$SendThread.doIO(ClientCnxn.java:701) > >> at > >> org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:945) > >> 11/03/11 08:56:45 INFO zookeeper.ClientCnxn: Attempting connection to > >> server /10.30.12.182:2181 > >> 11/03/11 08:56:45 WARN zookeeper.ClientCnxn: Exception closing session > >> 0x12ea29ecc580005 to sun.nio.ch.SelectionKeyImpl@1b1fbf4 > >> java.net.ConnectException: Connection refused > >> at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method) > >> at > >> sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:592) > >> at > >> org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:933) > >> 11/03/11 08:56:45 WARN zookeeper.ClientCnxn: Ignoring exception during > >> shutdown input > >> java.nio.channels.ClosedChannelException > >> at > >> sun.nio.ch.SocketChannelImpl.shutdownInput(SocketChannelImpl.java:656) > >> at > sun.nio.ch.SocketAdaptor.shutdownInput(SocketAdaptor.java:378) > >> at > >> org.apache.zookeeper.ClientCnxn$SendThread.cleanup(ClientCnxn.java:999) > >> at > >> org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:970) > >> 11/03/11 08:56:45 WARN zookeeper.ClientCnxn: Ignoring exception during > >> shutdown output > >> java.nio.channels.ClosedChannelException > >> at > >> sun.nio.ch.SocketChannelImpl.shutdownOutput(SocketChannelImpl.java:667) > >> at > sun.nio.ch.SocketAdaptor.shutdownOutput(SocketAdaptor.java:386) > >> at > >> org.apache.zookeeper.ClientCnxn$SendThread.cleanup(ClientCnxn.java:1004) > >> at > >> org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:970) > >> 11/03/11 08:56:47 INFO zookeeper.ClientCnxn: Attempting connection to > >> server /10.30.12.182:2181 > >> 11/03/11 08:56:47 WARN zookeeper.ClientCnxn: Exception closing session > >> 0x12ea29ecc580005 to sun.nio.ch.SelectionKeyImpl@6fa9fc > >> java.net.ConnectException: Connection refused > >> at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method) > >> at > >> sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:592) > >> at > >> org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:933) > >> 11/03/11 08:56:47 WARN zookeeper.ClientCnxn: Ignoring exception during > >> shutdown input > >> java.nio.channels.ClosedChannelException > >> at > >> sun.nio.ch.SocketChannelImpl.shutdownInput(SocketChannelImpl.java:656) > >> at > sun.nio.ch.SocketAdaptor.shutdownInput(SocketAdaptor.java:378) > >> at > >> org.apache.zookeeper.ClientCnxn$SendThread.cleanup(ClientCnxn.java:999) > >> at > >> org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:970) > >> 11/03/11 08:56:47 WARN zookeeper.ClientCnxn: Ignoring exception during > >> shutdown output > >> java.nio.channels.ClosedChannelException > >> at > >> sun.nio.ch.SocketChannelImpl.shutdownOutput(SocketChannelImpl.java:667) > >> at > sun.nio.ch.SocketAdaptor.shutdownOutput(SocketAdaptor.java:386) > >> at > >> org.apache.zookeeper.ClientCnxn$SendThread.cleanup(ClientCnxn.java:1004) > >> at > >> org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:970) > >> > >> > >> > >> On Thu, Mar 10, 2011 at 9:02 PM, BlueDavy Lin <blued...@gmail.com> > wrote: > >> > >>> When u new Get(row) first,HBase client cache the connection to the > >>> appropriate region server,after u restart HBase(I think u run > >>> standalone?),when u do Get(row) again,HBase client still use the > >>> cached connection to do this,so throw the Exception. > >>> > >>> But it seems should not throws the exception a lot of times,can u post > >>> the exception stack? > >>> > >>> 2011/3/10 King JKing <beuk...@gmail.com>: > >>> > Dear all, > >>> > > >>> > When I stop and start HBase server, HTable > >>> (org.apache.hadoop.hbase.client) > >>> > throw exception. > >>> > Here is my code test: > >>> > HTable ht = new HTable(config, "T1"); > >>> > byte[] row = Bytes.toBytes(1); > >>> > > >>> > Get get = new Get(row); > >>> > Result result = ht.get(get); > >>> > > >>> > System.out.println(Bytes.toString(result.getValue("F1".getBytes(), > >>> > "C1".getBytes()))); > >>> > > >>> > try { > >>> > Thread.sleep(60000); > >>> > } catch (InterruptedException ex) { > >>> > ex.printStackTrace(); > >>> > } > >>> > > >>> > get = new Get(row); > >>> > result = ht.get(get); > >>> > > >>> > System.out.println(Bytes.toString(result.getValue("F1".getBytes(), > >>> > "C1".getBytes()))); > >>> > > >>> > First I start HBase and run my code. After that I stop and start > HBase. > >>> And > >>> > exception "Exception closing session to sun.nio.ch.SelectionKeyImpl" > >>> throws > >>> > a lot of times. > >>> > > >>> > Could you help me to fix this problem? > >>> > Thank a lot for support. > >>> > > >>> > >>> > >>> > >>> -- > >>> ============================= > >>> | BlueDavy | > >>> | http://www.bluedavy.com | > >>> ============================= > >>> > >> > >> > > >