Bug 991526

Summary: Missing class org/xmlpull/v1/XmlPullParserException
Product: [JBoss] JBoss Data Grid 6 Reporter: dereed
Component: ServerAssignee: Tristan Tarrant <ttarrant>
Status: VERIFIED --- QA Contact: Martin Gencur <mgencur>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 6.1.0CC: jdg-bugs, tsykora
Target Milestone: DR4   
Target Release: 6.2.0   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 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:
Bug Depends On:    
Bug Blocks: 1004984    

Description dereed 2013-08-02 16:28:07 UTC
Description of problem:
JDG 6.1 server is missing a class used by one of its 3rd party jars.
From a related issue in ActiveMQ (https://access.redhat.com/site/solutions/425973) it appears this class should be located in xpp3-*.jar.

java.lang.ClassNotFoundException: org.xmlpull.v1.XmlPullParserException from [Module "com.thoughtworks.xstream:main" from local module loader @33ad173e (roots: D:\JBoss\jboss-datagrid-server-6.1.0\modules)]
	org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:190)
	org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:468)
	org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:456)
	org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:398)
	org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:120)
	com.thoughtworks.xstream.XStream.<init>(XStream.java:333)
	org.infinispan.rest.Server.xstream$lzycompute(Server.scala:55)
	org.infinispan.rest.Server.xstream(Server.scala:55)
	org.infinispan.rest.Server$$anonfun$getEntry$1$$anonfun$apply$2.apply(Server.scala:75)
	org.infinispan.rest.Server$$anonfun$getEntry$1$$anonfun$apply$2.apply(Server.scala:75)
	org.infinispan.rest.Server$$anon$1.write(Server.scala:93)

Version-Release number of selected component (if applicable):
JDG 6.1 server with a Rest endpoint.

How reproducible:


Steps to Reproduce:
1.
2.
3.

Actual results:


Expected results:


Additional info:

Comment 2 Tristan Tarrant 2013-08-02 18:28:02 UTC
xstream should only be used when attempting to "reinterpret" content placed in the rest server. Any info about usage ?

Comment 4 Tristan Tarrant 2013-08-03 10:01:12 UTC
The new JDG 6.2.0.DRx builds contain the missing module.

Comment 6 Shay Matasaro 2013-08-27 14:59:18 UTC
I am not able to reproduce this on 6.1GA
put and get work fine even with % chars

Comment 7 Tomas Sykora 2013-09-05 08:36:32 UTC
Same for me. 
I am not albe to reproduce this issue with 6.1_GA as well.

Do we have any special usecase or is this simply put and get of a key containing special characters (%) via REST?

Testing it with any of "old" 6.2 builds is blocked by https://bugzilla.redhat.com/show_bug.cgi?id=986888

Any thoughts? 
Thank you for your help!

Comment 8 Shay Matasaro 2013-09-05 14:39:32 UTC
I tested special % chars but that does not seem to be the case.

It might be related to the content-type header or accept-headr and how is it processed.

Tristan is there any doc on the rest content type, the only thing i found is that if you want the body stored as an object , you should set the content-type to application/x-java-serialized-object


is there any use for using other type , for example what the customer is doing 
which is setting  Accept header of application/xml

Comment 9 Shay Matasaro 2013-09-05 18:05:03 UTC
looks like the accept header does not effect the content type , so that’s  not the issue. Although it would be nice to know what possible content types are available.

Comment 10 dereed 2013-09-05 23:04:42 UTC
To trigger this issue:

PUT an object in the cache with:
    Content-Type: application/x-java-serialized-object

(the value doesn't actually matter, since it doesn't get that far before getting the CNFE)

GET the same object with:
    Accept: application/xml

This triggers loading of the missing XML class.

Comment 11 Tomas Sykora 2013-09-06 08:55:53 UTC
Ok, thank you for information!
Now I'm able to reproduce it with 6.1.GA too.

Comment 12 Tomas Sykora 2013-09-12 14:49:59 UTC
Works perfectly in 6.2 DR4.

Setting as VERIFIED. 
Thank you all guys, for valuable inputs, cases and fixes!!