Uploaded image for project: 'HBase'
  1. HBase
  2. HBASE-9936

Table get stuck when it fails to open due to a coprocessor error

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Incomplete
    • 0.96.0
    • None
    • None
    • None

    Description

      I made a mistake while after re-enabling a table on which I did an `alter' to add a coprocessor: the .jar I specified wasn't a self-contained jar, and thus some dependent classes couldn't be found.

      2013-11-09 02:39:05,994 INFO  [AM.ZK.Worker-pool2-t17] master.RegionStates: Transitioned {8568640c1da6ce0d5e27b656d28fe9fd state=PENDING_OPEN, ts=1383993545988, server=192.168.42.108,59570,1383993435386} to {8568640c1da6ce0d5e27b656d28fe9fd state=OPENING, ts=1383993545994, server=192.168.42.108,59570,1383993435386}
      2013-11-09 02:39:05,995 DEBUG [RS_OPEN_REGION-192.168.42.108:59570-2] coprocessor.CoprocessorHost: Loading coprocessor class com.example.foo.hbase.FooCoprocessor with path /Users/tsuna/src/foo/target/scala-2.10/foo_2.10-0.1.jar and priority 1000
      2013-11-09 02:39:06,005 DEBUG [RS_OPEN_REGION-192.168.42.108:59570-2] util.CoprocessorClassLoader: Finding class: com.example.foo.hbase.FooCoprocessor
      2013-11-09 02:39:06,006 DEBUG [RS_OPEN_REGION-192.168.42.108:59570-2] util.CoprocessorClassLoader: Skipping exempt class org.apache.hadoop.hbase.coprocessor.BaseRegionObserver - delegating directly to parent
      2013-11-09 02:39:06,007 DEBUG [RS_OPEN_REGION-192.168.42.108:59570-2] util.CoprocessorClassLoader: Skipping exempt class java.lang.Object - delegating directly to parent
      2013-11-09 02:39:06,007 DEBUG [RS_OPEN_REGION-192.168.42.108:59570-2] util.CoprocessorClassLoader: Finding class: org.slf4j.LoggerFactory
      2013-11-09 02:39:06,007 DEBUG [RS_OPEN_REGION-192.168.42.108:59570-2] util.CoprocessorClassLoader: Class org.slf4j.LoggerFactory not found - delegating to parent
      2013-11-09 02:39:06,008 DEBUG [RS_OPEN_REGION-192.168.42.108:59570-2] util.CoprocessorClassLoader: Finding class: scala.collection.mutable.StringBuilder
      2013-11-09 02:39:06,008 DEBUG [RS_OPEN_REGION-192.168.42.108:59570-2] util.CoprocessorClassLoader: Class scala.collection.mutable.StringBuilder not found - delegating to parent
      2013-11-09 02:39:06,008 DEBUG [RS_OPEN_REGION-192.168.42.108:59570-2] util.CoprocessorClassLoader: Class scala.collection.mutable.StringBuilder not found in parent loader
      2013-11-09 02:39:06,008 ERROR [RS_OPEN_REGION-192.168.42.108:59570-2] handler.OpenRegionHandler: Failed open of region=foo,,1383899959121.8568640c1da6ce0d5e27b656d28fe9fd., starting to roll back the global memstore size.
      java.lang.IllegalStateException: Could not instantiate a region instance.
              at org.apache.hadoop.hbase.regionserver.HRegion.newHRegion(HRegion.java:3820)
              at org.apache.hadoop.hbase.regionserver.HRegion.openHRegion(HRegion.java:4078)
              at org.apache.hadoop.hbase.regionserver.HRegion.openHRegion(HRegion.java:4030)
              at org.apache.hadoop.hbase.regionserver.HRegion.openHRegion(HRegion.java:3981)
              at org.apache.hadoop.hbase.regionserver.handler.OpenRegionHandler.openRegion(OpenRegionHandler.java:475)
              at org.apache.hadoop.hbase.regionserver.handler.OpenRegionHandler.process(OpenRegionHandler.java:140)
              at org.apache.hadoop.hbase.executor.EventHandler.run(EventHandler.java:128)
              at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
              at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
              at java.lang.Thread.run(Thread.java:680)
      Caused by: java.lang.reflect.InvocationTargetException
              at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
              at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
              at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
              at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
              at org.apache.hadoop.hbase.regionserver.HRegion.newHRegion(HRegion.java:3817)
              ... 9 more
      Caused by: java.lang.NoClassDefFoundError: scala/collection/mutable/StringBuilder
              at com.example.foo.hbase.FooCoprocessor.start(FooCoprocessor.scala:18)
              at org.apache.hadoop.hbase.coprocessor.CoprocessorHost$Environment.startup(CoprocessorHost.java:636)
              at org.apache.hadoop.hbase.coprocessor.CoprocessorHost.loadInstance(CoprocessorHost.java:259)
              at org.apache.hadoop.hbase.coprocessor.CoprocessorHost.load(CoprocessorHost.java:212)
              at org.apache.hadoop.hbase.regionserver.RegionCoprocessorHost.loadTableCoprocessors(RegionCoprocessorHost.java:192)
              at org.apache.hadoop.hbase.regionserver.RegionCoprocessorHost.<init>(RegionCoprocessorHost.java:154)
              at org.apache.hadoop.hbase.regionserver.HRegion.<init>(HRegion.java:532)
              at org.apache.hadoop.hbase.regionserver.HRegion.<init>(HRegion.java:442)
              ... 14 more
      Caused by: java.lang.ClassNotFoundException: scala.collection.mutable.StringBuilder
              at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
              at java.security.AccessController.doPrivileged(Native Method)
              at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
              at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
              at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
              at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
              at org.apache.hadoop.hbase.util.CoprocessorClassLoader.loadClass(CoprocessorClassLoader.java:299)
              ... 22 more
      2013-11-09 02:39:06,010 INFO  [RS_OPEN_REGION-192.168.42.108:59570-2] handler.OpenRegionHandler: Opening of region {ENCODED => 8568640c1da6ce0d5e27b656d28fe9fd, NAME => 'foo,,1383899959121.8568640c1da6ce0d5e27b656d28fe9fd.', STARTKEY => '', ENDKEY => ''} failed, transitioning from OPENING to FAILED_OPEN in ZK, expecting version 1
      

      The master retried 10 times and then seems to have given up. I'm trying to point it to a different jar, but I can't, and the table now seems stuck in a not-enabled-nor-disabled state:

      hbase(main):002:0> disable 'foo'
      
      ERROR: org.apache.hadoop.hbase.TableNotEnabledException: foo
      	at org.apache.hadoop.hbase.master.handler.DisableTableHandler.prepare(DisableTableHandler.java:100)
      	at org.apache.hadoop.hbase.master.HMaster.disableTable(HMaster.java:1979)
      	at org.apache.hadoop.hbase.master.HMaster.disableTable(HMaster.java:1990)
      	at org.apache.hadoop.hbase.protobuf.generated.MasterProtos$MasterService$2.callBlockingMethod(MasterProtos.java:38217)
      	at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2146)
      	at org.apache.hadoop.hbase.ipc.RpcServer$Handler.run(RpcServer.java:1851)
      
      Here is some help for this command:
      Start disable of named table: e.g. "hbase> disable 't1'"
      
      
      hbase(main):003:0> enable 'foo'
      
      ERROR: org.apache.hadoop.hbase.TableNotDisabledException: foo
      	at org.apache.hadoop.hbase.master.handler.EnableTableHandler.prepare(EnableTableHandler.java:109)
      	at org.apache.hadoop.hbase.master.HMaster.enableTable(HMaster.java:1954)
      	at org.apache.hadoop.hbase.master.HMaster.enableTable(HMaster.java:1965)
      	at org.apache.hadoop.hbase.protobuf.generated.MasterProtos$MasterService$2.callBlockingMethod(MasterProtos.java:38215)
      	at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2146)
      	at org.apache.hadoop.hbase.ipc.RpcServer$Handler.run(RpcServer.java:1851)
      
      Here is some help for this command:
      Start enable of named table: e.g. "hbase> enable 't1'"
      

      Attachments

        Activity

          People

            Unassigned Unassigned
            tsuna Benoit Sigoure
            Votes:
            1 Vote for this issue
            Watchers:
            5 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: