You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@phoenix.apache.org by "Viraj Jasani (Jira)" <ji...@apache.org> on 2022/07/26 23:14:00 UTC

[jira] [Assigned] (PHOENIX-6755) SystemCatalogRegionObserver extends BaseRegionObserver which doesn't exist in hbase-2.4 branch.

     [ https://issues.apache.org/jira/browse/PHOENIX-6755?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Viraj Jasani reassigned PHOENIX-6755:
-------------------------------------

    Assignee: Rushabh Shah

> SystemCatalogRegionObserver extends BaseRegionObserver which doesn't exist in hbase-2.4 branch.
> -----------------------------------------------------------------------------------------------
>
>                 Key: PHOENIX-6755
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-6755
>             Project: Phoenix
>          Issue Type: Bug
>          Components: core
>    Affects Versions: 5.1.2
>            Reporter: Rushabh Shah
>            Assignee: Rushabh Shah
>            Priority: Major
>             Fix For: 5.1.3
>
>
> One of our downstream services dependent on phoenix failed to startup with this phoenix-5.1 version and hbase-2.4.10 branch. Stack trace is pasted below:
> {noformat}
> Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/hadoop/hbase/coprocessor/BaseRegionObserver
>         at java.lang.ClassLoader.defineClass1(Native Method)
>         at java.lang.ClassLoader.defineClass(ClassLoader.java:757)
>         at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
>         at java.net.URLClassLoader.defineClass(URLClassLoader.java:473)
>         at java.net.URLClassLoader.access$100(URLClassLoader.java:74)
>         at java.net.URLClassLoader$1.run(URLClassLoader.java:369)
>         at java.net.URLClassLoader$1.run(URLClassLoader.java:363)
>         at java.security.AccessController.doPrivileged(Native Method)
>         at java.net.URLClassLoader.findClass(URLClassLoader.java:362)
>         at java.lang.ClassLoader.loadClass(ClassLoader.java:419)
>         at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:365)
>         at java.lang.ClassLoader.loadClass(ClassLoader.java:352)
>         at org.apache.phoenix.query.ConnectionQueryServicesImpl.addCoprocessors(ConnectionQueryServicesImpl.java:1177)
>         at org.apache.phoenix.query.ConnectionQueryServicesImpl.generateTableDescriptor(ConnectionQueryServicesImpl.java:968)
>         at org.apache.phoenix.query.ConnectionQueryServicesImpl.ensureTableCreated(ConnectionQueryServicesImpl.java:1419)
>         at org.apache.phoenix.query.ConnectionQueryServicesImpl.createTable(ConnectionQueryServicesImpl.java:1936)
>         at org.apache.phoenix.schema.MetaDataClient.createTableInternal(MetaDataClient.java:3084)
>         at org.apache.phoenix.schema.MetaDataClient.createTable(MetaDataClient.java:1111)
>         at org.apache.phoenix.compile.CreateTableCompiler$CreateTableMutationPlan.execute(CreateTableCompiler.java:420)
>         at org.apache.phoenix.jdbc.PhoenixStatement$2.call(PhoenixStatement.java:415)
>         at org.apache.phoenix.jdbc.PhoenixStatement$2.call(PhoenixStatement.java:397)
>         at org.apache.phoenix.call.CallRunner.run(CallRunner.java:53)
>         at org.apache.phoenix.jdbc.PhoenixStatement.executeMutation(PhoenixStatement.java:396)
>         at org.apache.phoenix.jdbc.PhoenixStatement.executeMutation(PhoenixStatement.java:384)
>         at org.apache.phoenix.jdbc.PhoenixStatement.executeUpdate(PhoenixStatement.java:1906)
>         at org.apache.phoenix.query.ConnectionQueryServicesImpl$12.call(ConnectionQueryServicesImpl.java:3290)
>         at org.apache.phoenix.query.ConnectionQueryServicesImpl$12.call(ConnectionQueryServicesImpl.java:3253)
>         at org.apache.phoenix.util.PhoenixContextExecutor.call(PhoenixContextExecutor.java:76)
>         at org.apache.phoenix.query.ConnectionQueryServicesImpl.init(ConnectionQueryServicesImpl.java:3253)
>         at org.apache.phoenix.jdbc.PhoenixDriver.getConnectionQueryServices(PhoenixDriver.java:255)
> Caused by: java.lang.ClassNotFoundException: org.apache.hadoop.hbase.coprocessor.BaseRegionObserver
>         at java.net.URLClassLoader.findClass(URLClassLoader.java:387)
>         at java.lang.ClassLoader.loadClass(ClassLoader.java:419)
>         at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:365)
>         at java.lang.ClassLoader.loadClass(ClassLoader.java:352)
> {noformat}
> It is throwing NoClassDefFoundError java.lang.NoClassDefFoundError: org/apache/hadoop/hbase/coprocessor/BaseRegionObserver
> ConnectionQueryServicesImpl.java#L1177 is as below:
> if (Arrays.equals(tableName, SchemaUtil.getPhysicalName(SYSTEM_CATALOG_NAME_BYTES, props).getName())) {
>   if (!newDesc.hasCoprocessor(SystemCatalogRegionObserver.class.getName())) {
>    builder.addCoprocessor(
>    SystemCatalogRegionObserver.class.getName(), null, priority, null);
> }
> It is trying to load SystemCatalogRegionObserver class.
> Within integration tests, it is loading org/apache/hadoop/hbase/coprocessor/BaseRegionObserver via omid dependency, omid-hbase-shims-hbase2.x



--
This message was sent by Atlassian Jira
(v8.20.10#820010)