Bug 991526 - Missing class org/xmlpull/v1/XmlPullParserException
Missing class org/xmlpull/v1/XmlPullParserException
Status: VERIFIED
Product: JBoss Data Grid 6
Classification: JBoss
Component: Server (Show other bugs)
6.1.0
Unspecified Unspecified
unspecified Severity unspecified
: DR4
: 6.2.0
Assigned To: Tristan Tarrant
Martin Gencur
:
Depends On:
Blocks: 1004984
  Show dependency treegraph
 
Reported: 2013-08-02 12:28 EDT by dereed
Modified: 2013-10-06 20:10 EDT (History)
3 users (show)

See Also:
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: ---


Attachments (Terms of Use)

  None (edit)
Description dereed 2013-08-02 12:28:07 EDT
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 14:28:02 EDT
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 06:01:12 EDT
The new JDG 6.2.0.DRx builds contain the missing module.
Comment 6 Shay Matasaro 2013-08-27 10:59:18 EDT
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 04:36:32 EDT
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 10:39:32 EDT
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 14:05:03 EDT
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 19:04:42 EDT
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 04:55:53 EDT
Ok, thank you for information!
Now I'm able to reproduce it with 6.1.GA too.
Comment 12 Tomas Sykora 2013-09-12 10:49:59 EDT
Works perfectly in 6.2 DR4.

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

Note You need to log in before you can comment on or make changes to this bug.