Description
Exposing phoenix-server-hbase-1.6-4.16.2 jar crashes RegionServer when it tries to bring SYSTEM.CATALOG online as phoenix-server does not shade thirdparty guava and sometimes we include thirdparty guava imports in Phoenix 4 due to clean backports coming from Phoenix master/5.1.
In addition to resorting to direct guava imports, we should also ban thirdparty guava imports (opposite to what Phoenix 5 does).
Exception stacktrace:
2021-07-05 19:59:57,196 FATAL [RS_OPEN_PRIORITY_REGION-1.2.3.4:16201-2] regionserver.HRegionServer: ABORTING region server 1.2.3.4,16201,1625495346871: The coprocessor org.apache.phoenix.coprocessor.MetaDataRegionObserver threw java.lang.NoClassDefFoundError: org/apache/phoenix/thirdparty/com/google/common/collect/ImmutableMap java.lang.NoClassDefFoundError: org/apache/phoenix/thirdparty/com/google/common/collect/ImmutableMap at org.apache.phoenix.util.MetaDataUtil.<clinit>(MetaDataUtil.java:106) at org.apache.phoenix.exception.SQLExceptionCode.<clinit>(SQLExceptionCode.java:266) at org.apache.phoenix.schema.TableProperty.<init>(TableProperty.java:308) at org.apache.phoenix.schema.TableProperty.<init>(TableProperty.java:41) at org.apache.phoenix.schema.TableProperty$1.<init>(TableProperty.java:44) at org.apache.phoenix.schema.TableProperty.<clinit>(TableProperty.java:43) at org.apache.phoenix.query.QueryConstants.<clinit>(QueryConstants.java:455) at org.apache.phoenix.coprocessor.MetaDataRegionObserver.<clinit>(MetaDataRegionObserver.java:106) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:423) at org.apache.hadoop.hbase.coprocessor.CoprocessorHost.loadInstance(CoprocessorHost.java:288) at org.apache.hadoop.hbase.coprocessor.CoprocessorHost.load(CoprocessorHost.java:251) at org.apache.hadoop.hbase.coprocessor.CoprocessorHost.load(CoprocessorHost.java:202) at org.apache.hadoop.hbase.regionserver.RegionCoprocessorHost.loadTableCoprocessors(RegionCoprocessorHost.java:378) at org.apache.hadoop.hbase.regionserver.RegionCoprocessorHost.<init>(RegionCoprocessorHost.java:240) at org.apache.hadoop.hbase.regionserver.HRegion.<init>(HRegion.java:824) at org.apache.hadoop.hbase.regionserver.HRegion.<init>(HRegion.java:715)
Attachments
Issue Links
- links to