Adam,

The ClassSize class comes from hbase-common [1] so I'm not sure how
that would related to the Phoenix client JAR. What version of HBase
was this against?

The only case I know of that needs the Phoenix client jar is when
Phoenix has been installed which then modifies the HBase config files
to specify some class names that come from phoenix client JAR.

As far as Java 10, there has been an on-going effort to become
compatible with Java 9+, but it is a non-trivial effort and not
complete yet [2].

Thanks,

Bryan

[1] 
https://github.com/apache/hbase/blob/rel/1.1.2/hbase-common/src/main/java/org/apache/hadoop/hbase/util/ClassSize.java
[2] https://issues.apache.org/jira/browse/NIFI-5174


On Thu, Aug 23, 2018 at 1:47 PM, Martini, Adam <adam.mart...@nike.com> wrote:
> Hello all,
>
> We were struggling with our HBase client connection in the NiFi 1.7.1 
> release. We are not using Phoenix and our client was erroring with a missing 
> class exception:
>
> Caused by: java.lang.NoClassDefFoundError: Could not initialize class 
> org.apache.hadoop.hbase.util.ClassSize
>                 at org.apache.hadoop.hbase.ipc.IPCUtil.<init>(IPCUtil.java:72)
>                 at 
> org.apache.hadoop.hbase.ipc.AbstractRpcClient.<init>(AbstractRpcClient.java:91)
>                 at 
> org.apache.hadoop.hbase.ipc.RpcClientImpl.<init>(RpcClientImpl.java:1113)
>                 at 
> org.apache.hadoop.hbase.ipc.RpcClientImpl.<init>(RpcClientImpl.java:1139)
>                 ... 33 common frames omitted
>
> Adding a Phoenix client (which we do not need) helps resolve this class 
> dependency, but fails if NiFi is running on Java 10:
>
> Caused by: java.lang.RuntimeException: Unexpected version format: 10.0.1
>     at org.apache.hadoop.hbase.util.ClassSize.<clinit>(ClassSize.java:119)
>     ... 37 common frames omitted
>
> Starting NiFi with Java 9 fixes this error, but complicates our devops as 
> Java 9 is no longer supported and cannot be installed via package management.
>
> Please fix this dependency issue so that a Phoenix client is not required to 
> resolve the org.apache.hadoop.hbase.util.ClassSize class. Also, please 
> migrate to Java 10 as soon as possible.
>
> Let me know if I can help with this process.
>
> Thanks,
>
> Adam Martini
> Senior Software Dev, Nike Digital
>

Reply via email to