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

ASF GitHub Bot commented on EAGLE-329:
--------------------------------------

GitHub user haoch opened a pull request:

    https://github.com/apache/incubator-eagle/pull/225

    EAGLE-329 Dependency incompatibility bug among jersey, asm and extcos

    https://issues.apache.org/jira/browse/EAGLE-329

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/haoch/incubator-eagle master

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/incubator-eagle/pull/225.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #225
    
----
commit 9849303ebf8a63e4f54f0eb035c8060c43e50611
Author: Hao Chen <[email protected]>
Date:   2016-05-27T11:34:32Z

    [EAGLE-273][EAGLE-269] Fix exceeding the maximum row size of 65,535 bytes 
in mysql and comparisons between LONG_VARCHAR not supported
    
    https://issues.apache.org/jira/browse/EAGLE-273
    https://issues.apache.org/jira/browse/EAGLE-269
    
    The problem is cause the limitation of maximum row size in mysql innodb 
engine, so need to keep the column size relatively small, but it will cause it 
can't store large field, it's a little tricky, so may have following possible 
solutions:
    
    * Solution One: Fix mysql innodb size to resolve the limitation.
    * Solution Two: Keep the field relatively small to avoid exceeding maximum 
row size and make sure creating table successfully, and modify field size 
according to actual usage (Which is the approach we take for this problem)
    
    Author: Hao Chen <[email protected]>
    
    Closes #158 from haoch/EAGLE-273-LATEST.

commit df576452f174166407dfaa7a705b7f263f932f33
Author: hdendukuri <[email protected]>
Date:   2016-05-27T11:36:26Z

    [EAGLE-279] Create Documentation for Sandbox Quick starter and JMX monitring
    
    Create Documentation for Sandbox Quick starter and JMX monitring
    
    Author: hdendukuri <[email protected]>
    
    Closes #159 from hdendukuri/master.

----


> Dependency incompatibility bug among jersey, asm and extcos
> -----------------------------------------------------------
>
>                 Key: EAGLE-329
>                 URL: https://issues.apache.org/jira/browse/EAGLE-329
>             Project: Eagle
>          Issue Type: Bug
>    Affects Versions: v0.5.0
>            Reporter: Hao Chen
>            Assignee: Hao Chen
>              Labels: eagle-webservice
>             Fix For: v0.5.0
>
>
> h1. Problems
> 1) Jersey conflict with Java8: https://java.net/jira/browse/JERSEY-2429
> {code}
> Caused by: java.lang.ArrayIndexOutOfBoundsException: 52264
>       at org.objectweb.asm.ClassReader.readClass(Unknown Source) 
> ~[asm-3.1.jar:3.1]
>       at org.objectweb.asm.ClassReader.accept(Unknown Source) 
> ~[asm-3.1.jar:3.1]
>       at org.objectweb.asm.ClassReader.accept(Unknown Source) 
> ~[asm-3.1.jar:3.1]
>       at 
> com.sun.jersey.spi.scanning.AnnotationScannerListener.onProcess(AnnotationScannerListener.java:136)
>  ~[jersey-server-1.17.1.jar:1.17.1]
>       at 
> com.sun.jersey.core.spi.scanning.uri.FileSchemeScanner$1.f(FileSchemeScanner.java:86)
>  ~[jersey-core-1.17.1.jar:1.17.1]
>       at com.sun.jersey.core.util.Closing.f(Closing.java:71) 
> ~[jersey-core-1.17.1.jar:1.17.1]
>       at 
> com.sun.jersey.core.spi.scanning.uri.FileSchemeScanner.scanDirectory(FileSchemeScanner.java:83)
>  ~[jersey-core-1.17.1.jar:1.17.1]
>       at 
> com.sun.jersey.core.spi.scanning.uri.FileSchemeScanner.scan(FileSchemeScanner.java:71)
>  ~[jersey-core-1.17.1.jar:1.17.1]
>       at 
> com.sun.jersey.core.spi.scanning.PackageNamesScanner.scan(PackageNamesScanner.java:225)
>  ~[jersey-core-1.17.1.jar:1.17.1]
>       at 
> com.sun.jersey.core.spi.scanning.PackageNamesScanner.scan(PackageNamesScanner.java:141)
>  ~[jersey-core-1.17.1.jar:1.17.1]
>       at 
> com.sun.jersey.api.core.ScanningResourceConfig.init(ScanningResourceConfig.java:80)
>  ~[jersey-server-1.17.1.jar:1.17.1]
>       at 
> com.sun.jersey.api.core.PackagesResourceConfig.init(PackagesResourceConfig.java:104)
>  ~[jersey-server-1.17.1.jar:1.17.1]
>       at 
> com.sun.jersey.api.core.PackagesResourceConfig.<init>(PackagesResourceConfig.java:78)
>  ~[jersey-server-1.17.1.jar:1.17.1]
> {code}
> *Solution*: Upgrade to *jersey-1.19.1*
> 2) asm library conflict: Exception in thread "eXtcos managed thread 1" 
> java.lang.ArrayIndexOutOfBoundsException: 256
> {code}
> Exception in thread "eXtcos managed thread 1" 
> java.lang.ArrayIndexOutOfBoundsException: 256
>       at org.objectweb.asm.ClassReader.readClass(Unknown Source)
>       at org.objectweb.asm.ClassReader.accept(Unknown Source)
>       at org.objectweb.asm.ClassReader.accept(Unknown Source)
>       at 
> net.sf.extcos.internal.JavaResourceAccessor.readClassData(JavaResourceAccessor.java:339)
>       at 
> net.sf.extcos.internal.JavaResourceAccessor.setResourceUrl(JavaResourceAccessor.java:309)
>       at 
> net.sf.extcos.internal.URLResource.getResourceAccessor(URLResource.java:98)
>       at net.sf.extcos.internal.URLResource.isClass(URLResource.java:131)
>       at net.sf.extcos.internal.RootFilter.filter(RootFilter.java:22)
>       at 
> net.sf.extcos.internal.AbstractChainedFilter.filter(AbstractChainedFilter.java:89)
>       at 
> net.sf.extcos.internal.ThreadingFilterInterceptor$1.run(ThreadingFilterInterceptor.java:48)
>       at java.lang.Thread.run(Thread.java:745)
> {code}
> *Solution*: Resolve by excluding unnecessary `asm` dependencies
> 3) extcos scanner exception under java8 (asm 3/4.x support up to java 7 
> bytecode, while asm 5 support java8), unfortunately, seems latest version of 
> extcos is 0.4b which support 4.0 only.
> {code}
> Exception in thread "eXtcos managed thread 1" 
> java.lang.IllegalArgumentException
>       at org.objectweb.asm.ClassReader.<init>(Unknown Source)
>       at org.objectweb.asm.ClassReader.<init>(Unknown Source)
>       at 
> net.sf.extcos.internal.JavaResourceAccessor.readClassData(JavaResourceAccessor.java:362)
>       at 
> net.sf.extcos.internal.JavaResourceAccessor.setResourceUrl(JavaResourceAccessor.java:333)
>       at 
> net.sf.extcos.internal.URLResource.getResourceAccessor(URLResource.java:93)
>       at net.sf.extcos.internal.URLResource.isClass(URLResource.java:126)
>       at net.sf.extcos.internal.RootFilter.filter(RootFilter.java:22)
>       at 
> net.sf.extcos.internal.AbstractChainedFilter.filter(AbstractChainedFilter.java:89)
>       at 
> net.sf.extcos.internal.ThreadingFilterInterceptor$1.run(ThreadingFilterInterceptor.java:48)
>       at java.lang.Thread.run(Thread.java:745)
> {code}
> *Solution*:
> {code}
> <dependency>
>       <groupId>net.sf.extcos</groupId>
>       <artifactId>extcos</artifactId>
>       <exclusions>
>               <exclusion>
>                       <groupId>org.ow2.asm</groupId>
>                       <artifactId>asm-all</artifactId>
>               </exclusion>
>       </exclusions>
> </dependency>
> <dependency>
>       <groupId>org.ow2.asm</groupId>
>       <artifactId>asm-all</artifactId> 
>     <version>5.0</version>    
> </dependency>
> {code}
> h1. Root Cause
> *  *asm is incompatible among asm-3.0,asm-4.0,asm-5.0*: the version of eagle 
> before apache-eagle-v0.5 uses jersey v1.8 which requires asm-3.0, while eagle 
> query engine requires *asm-4.0* but storm requires *asm-5.0*. 
> *  *asm-3.0* and *asm-4.0* is incompatible with jdk 8, but *asm-5.0* does.
> *  eagle query engine depends on *net.sf.extcos:extcos:0.4b" which support up 
> to *asm-4.0*
> *  *jersey-1.8* is not compatible with java 8, but *jersey-1.9* is.
> h1. Final Solution to support Java 8.
> * Upgrade to jersey 1.9 
> * Exclude all asm dependencies and explicitly depend on only version 
> "org.ow2.asm:asm-all:5.0".



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to