[jira] [Comment Edited] (BAHIR-159) Our project needs to use org.apache.bahir:spark-sql-streaming-mqtt_2.11:2.2.0, which has dependency conflict problem.

2018-02-13 Thread PandaMonkey (JIRA)

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

PandaMonkey edited comment on BAHIR-159 at 2/14/18 2:55 AM:


[~luciano resende], Thx for you quick reply and positive suggestion. This 
conflicts actually introduced by commons-configuration 1.6, and I found that 
commons-configuration realized thes conflicts and fix it in its new version! In 
fact, it is innovated to a great extent in terms of dependencies. :)


was (Author: pandamonkey):
[~luciano resende], Thx for you quick reply and positive suggestion. This 
conflicts actually introduced by commons-configuration 1.6, and I found that 
commons-configuration realized thes conflicts and fix it in his new version! In 
fact, it is innovated to a great extent in terms of dependencies. :)

> Our project needs to use 
> org.apache.bahir:spark-sql-streaming-mqtt_2.11:2.2.0, which has dependency 
> conflict problem.
> -
>
> Key: BAHIR-159
> URL: https://issues.apache.org/jira/browse/BAHIR-159
> Project: Bahir
>  Issue Type: Bug
>  Components: Spark Streaming Connectors
>Affects Versions: Spark-2.2.0
>Reporter: PandaMonkey
>Assignee: Luciano Resende
>Priority: Major
> Fix For: Spark-2.2.1, Spark-2.3
>
>
> Hi, our project needs to use 
> org.apache.bahir:spark-sql-streaming-mqtt_2.11:2.2.0, which has dependency 
> conflict problem leading to *NoSuchMethodError*. There are duplicate classes 
> in the different JARs :  
> and ,
> and the same problem exists in JAR pair: 
> <*com.sun.jersey:jersey-core*:1.9:><*javax.ws.rs:javax.ws.rs-api*:2.0.1:>.
> Unfortunately, these duplicate classes have different features. As the JVM 
> only load the classes present first on the classpath and shadow the other 
> duplicate ones. This is the main reason why our program crashed. So we spend 
> some efforts to analyze the source code. The conflict information is shown 
> below. Please notice that.
>  
> 1. Risk for 
> jar-pair:
>  a) Methods that only exist in 
> commons-beanutils:commons-beanutils-core:1.8.0:: 
> [neu.lab:findbug:0.0.1-SNAPSHOT:->org.apache.bahir:spark-sql-streaming-mqtt_2.11:2.2.0:->org.apache.spark:spark-sql_2.11:2.2.0:->org.apache.spark:spark-core_2.11:2.2.0:->org.apache.hadoop:hadoop-client:2.6.5:->org.apache.hadoop:hadoop-common:2.6.5:->commons-configuration:commons-configuration:1.6:->commons-beanutils:commons-beanutils-core:1.8.0:]
>  {color:#d04437} getMap()>{color}
>  {color:#d04437} initCause(java.lang.Throwable,java.lang.Throwable)>{color}
>  {color:#d04437} getCacheFast(java.util.Map)>{color}
>  {color:#d04437} createCache()>{color}
>  {color:#d04437} setCacheFast(java.util.Map,boolean)>{color}
>  {color:#d04437} initCause(java.lang.Throwable,java.lang.Throwable)>{color}
>  {color:#d04437} java.lang.reflect.Method getInitCauseMethod()>{color}
>  {color:#d04437} (org.apache.commons.beanutils.ConvertUtilsBean)>{color}
>  {color:#d04437} convert(java.lang.Object,java.lang.Class)>{color}
>  {color:#d04437} convert(java.lang.Object,java.lang.Class)>{color}
>  {color:#d04437} org.apache.commons.beanutils.Converter 
> lookup(java.lang.Class,java.lang.Class)>{color}
>  {color:#d04437} registerStandard(boolean,boolean)>{color}
>  {color:#d04437} register(boolean,boolean,int)>{color}
>  {color:#d04437} registerPrimitives(boolean)>{color}
>  {color:#d04437} registerOther(boolean)>{color}
>  {color:#d04437} registerArrays(boolean,int)>{color}
>  {color:#d04437} registerArrayConverter(java.lang.Class,org.apache.commons.beanutils.Converter,boolean,int)>{color}
>  {color:#d04437} org.apache.commons.beanutils.Converter 
> lookup(java.lang.Class,java.lang.Class)>{color}
>  {color:#d04437} java.lang.Object convert(java.lang.Object,java.lang.Class)>{color}
>  {color:#d04437} hashCode()>{color}
>  {color:#d04437} equals(java.lang.Object)>{color}
>  {color:#d04437} getColumnName(java.lang.String)>{color}
>  {color:#d04437} getObject(java.sql.ResultSet,java.lang.String)>{color}
>  {color:#d04437} org.apache.commons.logging.Log logger()>{color}
>  {color:#d04437} getMap()>{color}
>  {color:#d04437} java.lang.reflect.Method 
> internalGetMethod(java.lang.Class,java.lang.String,int)>{color}
>  {color:#d04437} java.lang.Class[] access$100()>{color}
>  {color:#d04437} java.lang.reflect.Method 
> getMethod(java.lang.Class,java.lang.String,int)>{color}
>  {color:#d04437} java.lang.reflect.Method 
> getMethod(java.lang.Class,java.lang.String,java.lang.Class[])>{color}
>  {color:#d04437} java.lang.reflect.Method 
> getAccessibleMethod(java.lang.Class,java.lang.reflect.Method)>{color}
>  {color:#d04437} java.lang.reflect.Method 
> getCachedMethod(org.apache.commons.beanutils.Met

[jira] [Comment Edited] (BAHIR-159) Our project needs to use org.apache.bahir:spark-sql-streaming-mqtt_2.11:2.2.0, which has dependency conflict problem.

2018-02-13 Thread PandaMonkey (JIRA)

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

PandaMonkey edited comment on BAHIR-159 at 2/14/18 2:55 AM:


[~luciano resende], Thx for you quick reply and positive suggestion. This 
conflicts actually introduced by commons-configuration 1.6, and I found that 
commons-configuration realized thes conflicts and fix it in its newer version! 
In fact, it is innovated to a great extent in terms of dependencies. :)


was (Author: pandamonkey):
[~luciano resende], Thx for you quick reply and positive suggestion. This 
conflicts actually introduced by commons-configuration 1.6, and I found that 
commons-configuration realized thes conflicts and fix it in its new version! In 
fact, it is innovated to a great extent in terms of dependencies. :)

> Our project needs to use 
> org.apache.bahir:spark-sql-streaming-mqtt_2.11:2.2.0, which has dependency 
> conflict problem.
> -
>
> Key: BAHIR-159
> URL: https://issues.apache.org/jira/browse/BAHIR-159
> Project: Bahir
>  Issue Type: Bug
>  Components: Spark Streaming Connectors
>Affects Versions: Spark-2.2.0
>Reporter: PandaMonkey
>Assignee: Luciano Resende
>Priority: Major
> Fix For: Spark-2.2.1, Spark-2.3
>
>
> Hi, our project needs to use 
> org.apache.bahir:spark-sql-streaming-mqtt_2.11:2.2.0, which has dependency 
> conflict problem leading to *NoSuchMethodError*. There are duplicate classes 
> in the different JARs :  
> and ,
> and the same problem exists in JAR pair: 
> <*com.sun.jersey:jersey-core*:1.9:><*javax.ws.rs:javax.ws.rs-api*:2.0.1:>.
> Unfortunately, these duplicate classes have different features. As the JVM 
> only load the classes present first on the classpath and shadow the other 
> duplicate ones. This is the main reason why our program crashed. So we spend 
> some efforts to analyze the source code. The conflict information is shown 
> below. Please notice that.
>  
> 1. Risk for 
> jar-pair:
>  a) Methods that only exist in 
> commons-beanutils:commons-beanutils-core:1.8.0:: 
> [neu.lab:findbug:0.0.1-SNAPSHOT:->org.apache.bahir:spark-sql-streaming-mqtt_2.11:2.2.0:->org.apache.spark:spark-sql_2.11:2.2.0:->org.apache.spark:spark-core_2.11:2.2.0:->org.apache.hadoop:hadoop-client:2.6.5:->org.apache.hadoop:hadoop-common:2.6.5:->commons-configuration:commons-configuration:1.6:->commons-beanutils:commons-beanutils-core:1.8.0:]
>  {color:#d04437} getMap()>{color}
>  {color:#d04437} initCause(java.lang.Throwable,java.lang.Throwable)>{color}
>  {color:#d04437} getCacheFast(java.util.Map)>{color}
>  {color:#d04437} createCache()>{color}
>  {color:#d04437} setCacheFast(java.util.Map,boolean)>{color}
>  {color:#d04437} initCause(java.lang.Throwable,java.lang.Throwable)>{color}
>  {color:#d04437} java.lang.reflect.Method getInitCauseMethod()>{color}
>  {color:#d04437} (org.apache.commons.beanutils.ConvertUtilsBean)>{color}
>  {color:#d04437} convert(java.lang.Object,java.lang.Class)>{color}
>  {color:#d04437} convert(java.lang.Object,java.lang.Class)>{color}
>  {color:#d04437} org.apache.commons.beanutils.Converter 
> lookup(java.lang.Class,java.lang.Class)>{color}
>  {color:#d04437} registerStandard(boolean,boolean)>{color}
>  {color:#d04437} register(boolean,boolean,int)>{color}
>  {color:#d04437} registerPrimitives(boolean)>{color}
>  {color:#d04437} registerOther(boolean)>{color}
>  {color:#d04437} registerArrays(boolean,int)>{color}
>  {color:#d04437} registerArrayConverter(java.lang.Class,org.apache.commons.beanutils.Converter,boolean,int)>{color}
>  {color:#d04437} org.apache.commons.beanutils.Converter 
> lookup(java.lang.Class,java.lang.Class)>{color}
>  {color:#d04437} java.lang.Object convert(java.lang.Object,java.lang.Class)>{color}
>  {color:#d04437} hashCode()>{color}
>  {color:#d04437} equals(java.lang.Object)>{color}
>  {color:#d04437} getColumnName(java.lang.String)>{color}
>  {color:#d04437} getObject(java.sql.ResultSet,java.lang.String)>{color}
>  {color:#d04437} org.apache.commons.logging.Log logger()>{color}
>  {color:#d04437} getMap()>{color}
>  {color:#d04437} java.lang.reflect.Method 
> internalGetMethod(java.lang.Class,java.lang.String,int)>{color}
>  {color:#d04437} java.lang.Class[] access$100()>{color}
>  {color:#d04437} java.lang.reflect.Method 
> getMethod(java.lang.Class,java.lang.String,int)>{color}
>  {color:#d04437} java.lang.reflect.Method 
> getMethod(java.lang.Class,java.lang.String,java.lang.Class[])>{color}
>  {color:#d04437} java.lang.reflect.Method 
> getAccessibleMethod(java.lang.Class,java.lang.reflect.Method)>{color}
>  {color:#d04437} java.lang.reflect.Method 
> getCachedMethod(org.apache.commons.beanutils.M