James Netherton created KUDU-3677:
-------------------------------------
Summary: Java kudu-client incorrectly declares
com.stumbleupon:async as optional
Key: KUDU-3677
URL: https://issues.apache.org/jira/browse/KUDU-3677
Project: Kudu
Issue Type: Bug
Components: java
Affects Versions: 1.18
Reporter: James Netherton
There was a change in the Java kudu-client pom.xml between the 1.17.1 and
1.18.0 with regards to how dependency com.stumbleupon:async is declared.
*1.17.1*
{code:java}
<dependency>
<groupId>com.stumbleupon</groupId>
<artifactId>async</artifactId>
<version>1.4.1</version>
<scope>compile</scope>
<exclusions>
<exclusion>
<artifactId>slf4j-api</artifactId>
<groupId>org.slf4j</groupId>
</exclusion>
</exclusions>
</dependency>
{code}
*1.18.0*
{code:java}
<dependency>
<groupId>com.stumbleupon</groupId>
<artifactId>async</artifactId>
<version>1.4.1</version>
<scope>compile</scope>
<exclusions>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
</exclusion>
</exclusions>
<optional>true</optional>
</dependency>
{code}
Note the addition of <optional> in 1.18.0.
Looking at the code from KuduClient and AsyncKuduClient, there are various
references to Deferred & Callback types. If you try to invoke methods that use
those types, then you'll get ClassNotFoundException. Unless you add the missing
com.stumbleupon:async dependency to the classpath.
Can the previous non-optional dependency declaration be restored for future
releases?
--
This message was sent by Atlassian Jira
(v8.20.10#820010)