I merge issue HBASE-3744 to 0.90.2 and test it.
Find that Creating table fails when region server shutdown

Does it need try to one more times for putting Meta data?

public static void addRegionToMeta(CatalogTracker catalogTracker,
      HRegionInfo regionInfo)
  throws IOException {
    Put put = new Put(regionInfo.getRegionName());
    put.add(HConstants.CATALOG_FAMILY, HConstants.REGIONINFO_QUALIFIER,
        Writables.getBytes(regionInfo));
    catalogTracker.waitForMetaServerConnectionDefault().put(                    
    // try again ?
        CatalogTracker.META_REGION, put);
    LOG.info("Added region " + regionInfo.getRegionNameAsString() + " to META");
  }

Client logs:
11/04/25 17:22:51 INFO client.HConnectionManager$HConnectionImplementation: 
Closed zookeeper sessionid=0x12f8be0d9b7000b
11/04/25 17:22:51 INFO zookeeper.ZooKeeper: Session: 0x12f8be0d9b7000b closed
11/04/25 17:22:51 INFO zookeeper.ClientCnxn: EventThread shut down
org.apache.hadoop.ipc.RemoteException: org.apache.hadoop.ipc.RemoteException: 
java.io.IOException: Server not running
        at 
org.apache.hadoop.hbase.regionserver.HRegionServer.checkOpen(HRegionServer.java:2335)
        at 
org.apache.hadoop.hbase.regionserver.HRegionServer.put(HRegionServer.java:1647)
        at sun.reflect.GeneratedMethodAccessor11.invoke(Unknown Source)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.apache.hadoop.hbase.ipc.HBaseRPC$Server.call(HBaseRPC.java:570)
        at 
org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:1039)

        at org.apache.hadoop.hbase.ipc.HBaseClient.call(HBaseClient.java:771)
        at 
org.apache.hadoop.hbase.ipc.HBaseRPC$Invoker.invoke(HBaseRPC.java:257)
        at $Proxy6.put(Unknown Source)
        at 
org.apache.hadoop.hbase.catalog.MetaEditor.addRegionToMeta(MetaEditor.java:57)
        at org.apache.hadoop.hbase.master.HMaster.createTable(HMaster.java:804)
        at org.apache.hadoop.hbase.master.HMaster.createTable(HMaster.java:780)
        at org.apache.hadoop.hbase.master.HMaster.createTable(HMaster.java:747)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.apache.hadoop.hbase.ipc.HBaseRPC$Server.call(HBaseRPC.java:570)
        at 
org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:1039)

        at org.apache.hadoop.hbase.ipc.HBaseClient.call(HBaseClient.java:771)
        at 
org.apache.hadoop.hbase.ipc.HBaseRPC$Invoker.invoke(HBaseRPC.java:257)
        at $Proxy4.createTable(Unknown Source)
        at 
org.apache.hadoop.hbase.client.HBaseAdmin.createTableAsync(HBaseAdmin.java:340)
        at 
org.apache.hadoop.hbase.client.HBaseAdmin.createTable(HBaseAdmin.java:302)
        at 
com.huawei.smartcare.performanceTuning.createTable.main(createTable.java:103)

Reply via email to