Bug 1185271

Summary: infinispan-remote uber jar contains 2x versions of shaded javassist packages
Product: [JBoss] JBoss Data Grid 6 Reporter: Vitalii Chepeliuk <vchepeli>
Component: LibraryAssignee: Adrian Nistor <anistor>
Status: CLOSED CURRENTRELEASE QA Contact: Martin Gencur <mgencur>
Severity: high Docs Contact:
Priority: unspecified    
Version: 6.4.0CC: jdg-bugs, pzapataf, rmarwaha, slaskawi, ttarrant, vjuranek
Target Milestone: ER3   
Target Release: 6.5.0   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-06-23 12:24:56 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Vitalii Chepeliuk 2015-01-23 11:06:32 UTC
Description of problem:
infinispan-remote uber jar contains 2x different shaded versions of javassist
/protostream.javassist
/javassist

Version-Release number of selected component (if applicable): 6.4.0.CR4

Shaded /javassist should be removed as it cause collisions with javassist bundled into weblogic modules what is related to infinispan cdi and now is shaded inside infinispan-remote uber jar 

    Caused by: com.google.common.util.concurrent.UncheckedExecutionException: java.lang.ClassCastException: org.infinispan.cdi.InfinispanExtension$Proxy$_$$_WeldClientProxy cannot be cast to javassist.util.proxy.ProxyObject
            at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2234)
            at com.google.common.cache.LocalCache.get(LocalCache.java:3965)
            at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3969)
            at com.google.common.cache.LocalCache$LocalManualCache.get(LocalCache.java:4829)
            at org.jboss.weld.util.cache.LoadingCacheUtils.getCacheValue(LoadingCacheUtils.java:71)
            ... 40 more
    Caused by: java.lang.ClassCastException: org.infinispan.cdi.InfinispanExtension$Proxy$_$$_WeldClientProxy cannot be cast to javassist.util.proxy.ProxyObject
            at org.jboss.weld.bean.proxy.ProxyFactory.create(ProxyFactory.java:249)
            at org.jboss.weld.bean.proxy.ClientProxyFactory.create(ClientProxyFactory.java:105)
            at org.jboss.weld.bean.proxy.ClientProxyProvider.createClientProxy(ClientProxyProvider.java:87)
            at org.jboss.weld.bean.proxy.ClientProxyProvider.access$000(ClientProxyProvider.java:43)
            at org.jboss.weld.bean.proxy.ClientProxyProvider$1.load(ClientProxyProvider.java:53)
            at org.jboss.weld.bean.proxy.ClientProxyProvider$1.load(ClientProxyProvider.java:46)
            at com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3568)
            at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2350)
            at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2313)
            at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2228)
            ... 44 more


/javassist should be removed from infinispan-remote uber jar

Comment 2 Martin Gencur 2015-01-23 11:13:20 UTC
The workaround is to use the separate jar files for HR client and its dependencies. 

This is the list of dependencies to be used as a workaround:
org.jboss.logging/jboss-logging
org.jboss.marshalling/jboss-marshalling-osgi
org.infinispan/infinispan-commons
org.infinispan/infinispan-client-hotrod
commons-pool/commons-pool
org.infinispan/infinispan-remote-query-client
org.infinispan/infinispan-query-dsl
org.infinispan.protostream/protostream

All these dependencies can be found in the JDG Maven repository.

Comment 3 Martin Gencur 2015-01-23 12:02:55 UTC
This affects only WebLogic. It works fine with EAP.

Comment 4 JBoss JIRA Server 2015-02-23 16:24:59 UTC
Adrian Nistor <anistor> updated the status of jira ISPN-5192 to Coding In Progress