phoenix-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Nick Dimiduk (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (PHOENIX-1976) Improve PhoenixDriver registration when addShutdownHook fails
Date Tue, 02 Jun 2015 21:46:49 GMT

    [ https://issues.apache.org/jira/browse/PHOENIX-1976?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14569825#comment-14569825
] 

Nick Dimiduk commented on PHOENIX-1976:
---------------------------------------

This looks like bad news. FYI [~enis], [~chrajeshbabu32@gmail.com].

>From this build, https://builds.apache.org/job/Phoenix-4.4-HBase-1.1/13/

{noformat}
Running org.apache.phoenix.pig.PhoenixHBaseStorerIT
Tests run: 5, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 13.694 sec <<< FAILURE!
- in org.apache.phoenix.pig.PhoenixHBaseStorerIT
org.apache.phoenix.pig.PhoenixHBaseStorerIT  Time elapsed: 3.144 sec  <<< ERROR!
org.apache.hadoop.hbase.DoNotRetryIOException: java.lang.NoClassDefFoundError: org/apache/hadoop/hbase/protobuf/generated/MasterProtos$DisableTableRequest$1
        at org.apache.hadoop.hbase.client.RpcRetryingCaller.translateException(RpcRetryingCaller.java:229)
        at org.apache.hadoop.hbase.client.RpcRetryingCaller.callWithRetries(RpcRetryingCaller.java:140)
        at org.apache.hadoop.hbase.client.HBaseAdmin.executeCallable(HBaseAdmin.java:3917)
        at org.apache.hadoop.hbase.client.HBaseAdmin.disableTableAsyncV2(HBaseAdmin.java:1240)
        at org.apache.hadoop.hbase.client.HBaseAdmin.disableTable(HBaseAdmin.java:1199)
        at org.apache.hadoop.hbase.client.HBaseAdmin.disableTable(HBaseAdmin.java:1217)
        at org.apache.phoenix.query.BaseTest.disableAndDropNonSystemTables(BaseTest.java:1637)
        at org.apache.phoenix.query.BaseTest.dropNonSystemTables(BaseTest.java:518)
        at org.apache.phoenix.end2end.BaseHBaseManagedTimeIT.doTeardown(BaseHBaseManagedTimeIT.java:59)
        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:606)
        at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
        at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
        at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
        at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:33)
        at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
        at org.junit.runners.Suite.runChild(Suite.java:128)
        at org.junit.runners.Suite.runChild(Suite.java:27)
        at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
        at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
        at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
        at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
        at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
        at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
        at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
        at org.junit.runner.JUnitCore.run(JUnitCore.java:115)
        at org.apache.maven.surefire.junitcore.JUnitCoreWrapper.createRequestAndRun(JUnitCoreWrapper.java:107)
        at org.apache.maven.surefire.junitcore.JUnitCoreWrapper.executeLazy(JUnitCoreWrapper.java:88)
        at org.apache.maven.surefire.junitcore.JUnitCoreWrapper.execute(JUnitCoreWrapper.java:57)
        at org.apache.maven.surefire.junitcore.JUnitCoreProvider.invoke(JUnitCoreProvider.java:144)
        at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:203)
        at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:155)
        at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:103)
Caused by: java.lang.NoClassDefFoundError: org/apache/hadoop/hbase/protobuf/generated/MasterProtos$DisableTableRequest$1
        at org.apache.hadoop.hbase.protobuf.generated.MasterProtos$DisableTableRequest.<clinit>(MasterProtos.java:12593)
        at org.apache.hadoop.hbase.protobuf.RequestConverter.buildDisableTableRequest(RequestConverter.java:1211)
        at org.apache.hadoop.hbase.client.HBaseAdmin$8.call(HBaseAdmin.java:1245)
        at org.apache.hadoop.hbase.client.HBaseAdmin$8.call(HBaseAdmin.java:1241)
        at org.apache.hadoop.hbase.client.RpcRetryingCaller.callWithRetries(RpcRetryingCaller.java:126)
        at org.apache.hadoop.hbase.client.HBaseAdmin.executeCallable(HBaseAdmin.java:3917)
        at org.apache.hadoop.hbase.client.HBaseAdmin.disableTableAsyncV2(HBaseAdmin.java:1240)
        at org.apache.hadoop.hbase.client.HBaseAdmin.disableTable(HBaseAdmin.java:1199)
        at org.apache.hadoop.hbase.client.HBaseAdmin.disableTable(HBaseAdmin.java:1217)
        at org.apache.phoenix.query.BaseTest.disableAndDropNonSystemTables(BaseTest.java:1637)
        at org.apache.phoenix.query.BaseTest.dropNonSystemTables(BaseTest.java:518)
        at org.apache.phoenix.end2end.BaseHBaseManagedTimeIT.doTeardown(BaseHBaseManagedTimeIT.java:59)
        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:606)
        at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
        at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
        at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
        at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:33)
        at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
        at org.junit.runners.Suite.runChild(Suite.java:128)
        at org.junit.runners.Suite.runChild(Suite.java:27)
        at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
        at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
        at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
        at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
        at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
        at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
        at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
        at org.junit.runner.JUnitCore.run(JUnitCore.java:115)
        at org.apache.maven.surefire.junitcore.JUnitCoreWrapper.createRequestAndRun(JUnitCoreWrapper.java:107)
        at org.apache.maven.surefire.junitcore.JUnitCoreWrapper.executeLazy(JUnitCoreWrapper.java:88)
        at org.apache.maven.surefire.junitcore.JUnitCoreWrapper.execute(JUnitCoreWrapper.java:57)
        at org.apache.maven.surefire.junitcore.JUnitCoreProvider.invoke(JUnitCoreProvider.java:144)
        at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:203)
        at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:155)
        at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:103)
Caused by: java.lang.ClassNotFoundException: org.apache.hadoop.hbase.protobuf.generated.MasterProtos$DisableTableRequest$1
        at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
        at org.apache.hadoop.hbase.protobuf.generated.MasterProtos$DisableTableRequest.<clinit>(MasterProtos.java:12593)
        at org.apache.hadoop.hbase.protobuf.RequestConverter.buildDisableTableRequest(RequestConverter.java:1211)
        at org.apache.hadoop.hbase.client.HBaseAdmin$8.call(HBaseAdmin.java:1245)
        at org.apache.hadoop.hbase.client.HBaseAdmin$8.call(HBaseAdmin.java:1241)
        at org.apache.hadoop.hbase.client.RpcRetryingCaller.callWithRetries(RpcRetryingCaller.java:126)
        at org.apache.hadoop.hbase.client.HBaseAdmin.executeCallable(HBaseAdmin.java:3917)
        at org.apache.hadoop.hbase.client.HBaseAdmin.disableTableAsyncV2(HBaseAdmin.java:1240)
        at org.apache.hadoop.hbase.client.HBaseAdmin.disableTable(HBaseAdmin.java:1199)
        at org.apache.hadoop.hbase.client.HBaseAdmin.disableTable(HBaseAdmin.java:1217)
        at org.apache.phoenix.query.BaseTest.disableAndDropNonSystemTables(BaseTest.java:1637)
        at org.apache.phoenix.query.BaseTest.dropNonSystemTables(BaseTest.java:518)
        at org.apache.phoenix.end2end.BaseHBaseManagedTimeIT.doTeardown(BaseHBaseManagedTimeIT.java:59)
        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:606)
        at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
        at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
        at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
        at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:33)
        at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
        at org.junit.runners.Suite.runChild(Suite.java:128)
        at org.junit.runners.Suite.runChild(Suite.java:27)
        at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
        at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
        at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
        at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
        at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
        at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
        at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
        at org.junit.runner.JUnitCore.run(JUnitCore.java:115)
        at org.apache.maven.surefire.junitcore.JUnitCoreWrapper.createRequestAndRun(JUnitCoreWrapper.java:107)
        at org.apache.maven.surefire.junitcore.JUnitCoreWrapper.executeLazy(JUnitCoreWrapper.java:88)
        at org.apache.maven.surefire.junitcore.JUnitCoreWrapper.execute(JUnitCoreWrapper.java:57)
        at org.apache.maven.surefire.junitcore.JUnitCoreProvider.invoke(JUnitCoreProvider.java:144)
        at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:203)
        at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:155)
        at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:103)


Results :


Tests in error:
  PhoenixHBaseStorerIT>BaseHBaseManagedTimeIT.doTeardown:59->BaseTest.dropNonSystemTables:518->BaseTest.disableAndDropNonSystemTables:1637
ยป DoNotRetryIO

{noformat}

> Improve PhoenixDriver registration when addShutdownHook fails
> -------------------------------------------------------------
>
>                 Key: PHOENIX-1976
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-1976
>             Project: Phoenix
>          Issue Type: Bug
>            Reporter: Josh Elser
>            Assignee: Josh Elser
>            Priority: Minor
>             Fix For: 5.0.0, 4.5.0, 4.4.1
>
>         Attachments: PHOENIX-1976-master.patch
>
>
> Noticed this in running some tests. RegionServer was shutting down and MetaDataRegionObserver
was just invoking {{postOpen}}
> When the {{Class.forName(PhoenixDriver.class.getName())}} gets called, the static initializer
in {{PhoenixDriver}} gets invoked. Because the RegionServer is already stopping, the {{addShutdownHook}}
fails with an {{IllegalArgumentException}}.
> It's not a _huge_ concern because we know the JVM is going down, but there are a few
things we could handle better:
> * Ensure the PhoenixDriver gets closed if the shutdown hook fails to register
> * Avoid registering the PhoenixDriver instance if we're shutting down



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message