You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@phoenix.apache.org by "Istvan Toth (Jira)" <ji...@apache.org> on 2021/01/29 06:17:00 UTC

[jira] [Comment Edited] (PHOENIX-6348) java.lang.NoClassDefFoundError: when running with hbase-1.6

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

Istvan Toth edited comment on PHOENIX-6348 at 1/29/21, 6:16 AM:
----------------------------------------------------------------

I bumped commons-cli to 1.4 because it fixes the quote swallowing bug for long options (but not short). 
Sorry the ITs didn't catch classpath issue.

One option is to just revert to 1.2. This will undo most of the case sensitivity fix for IndexTool.

The best option is to add commons-cli to to phoenix-thirdparty, and use that.
This has the added bonus that we can patch the remaining quote bugs in our version. 

However the reviews and the 72 hour vote period would mean no 4.16RC1 until the end of next week.

I'll try to push a PR for adding  commons-cli  to thirdparty today anyway, and we can choose to include it in 4.16 or not.

I'll also check if we have this conflict on master.


was (Author: stoty):
I bumped commons-cli to 1.4 because it fixes the quote swallowing bug for long options (but not short). 
Sorry the ITs didn't catch classpath issue.

One option is to just revert to 1.2. This will undo most of the case sensitivity fix for IndexTool.

The best option is to add commons-cli to to phoenix-thirdparty, and use that.
This has the added bonus that we can patch the remaining case sensitivity bugs in our version. 

However the reviews and the 72 hour vote period would mean no 4.16RC1 until the end of next week.

I'll try to push a PR for adding  commons-cli  to thirdparty today anyway, and we can choose to include it in 4.16 or not.

I'll also check if we have this conflict on master.

> java.lang.NoClassDefFoundError: when running with hbase-1.6
> -----------------------------------------------------------
>
>                 Key: PHOENIX-6348
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-6348
>             Project: Phoenix
>          Issue Type: Bug
>    Affects Versions: 4.16.0
>            Reporter: Jacob Isaac
>            Priority: Blocker
>             Fix For: 4.16.0
>
>
> Getting this error, when running with hbase-1.6
> I think this stems from the jar dependency mismatch between phoenix 4.x/4.16 and hbase1.6
> hbase-1.6 :  commons-cli-1.2.jar (https://github.com/apache/hbase/blob/5ec5a5b115ee36fb28903667c008218abd21b3f5/pom.xml#L1260)
> phoenix 4.x : commons-cli-1.4.jar ([https://github.com/apache/phoenix/blob/44d44029597d032af1be54d5e9a70342c1fe4769/pom.xml#L100)]
>  
> What is the best way to resolve this? Shading?
> [~stoty] [~vjasani]
> FYI
> [~yanxinyi] [~ChinmayKulkarni] [~kadir]
>  
> **Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/cli/DefaultParser
>  at org.apache.phoenix.mapreduce.index.IndexTool.parseOptions(IndexTool.java:354)
>  at org.apache.phoenix.mapreduce.index.IndexTool.run(IndexTool.java:788)
>  at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:76)
>  at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:90)
>  at org.apache.phoenix.mapreduce.index.IndexTool.main(IndexTool.java:1201)
> Caused by: java.lang.ClassNotFoundException: org.apache.commons.cli.DefaultParser
>  at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
>  at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
>  at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
>  at java.lang.ClassLoader.loadClass(ClassLoader.java:357)



--
This message was sent by Atlassian Jira
(v8.3.4#803005)