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:
xstream should only be used when attempting to "reinterpret" content placed in the rest server. Any info about usage ?
The new JDG 6.2.0.DRx builds contain the missing module.
You need the module.xml for xpp3 here http://git.app.eng.bos.redhat.com/?p=infinispan/infinispan-server.git;a=tree;f=build/src/main/resources-ispn/modules/system/layers/base/xpp3/main;h=4a8a2988cfd39f06314f7a48244b1e10731f241d;hb=jdg-6.2.x
I am not able to reproduce this on 6.1GA put and get work fine even with % chars
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!
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
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.
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.
Ok, thank you for information! Now I'm able to reproduce it with 6.1.GA too.
Works perfectly in 6.2 DR4. Setting as VERIFIED. Thank you all guys, for valuable inputs, cases and fixes!!
This product has been discontinued or is no longer tracked in Red Hat Bugzilla.