Status: New
Owner: ----
Labels: Type-Defect Priority-Medium

New issue 238 by [email protected]: Incorrect Exception Stack : WARN net.spy.memcached.transcoders.SerializingTranscoder: Caught IOException decoding bytes of data
http://code.google.com/p/memcached/issues/detail?id=238

I have blogged about it
http://mcondev.wordpress.com/2011/11/29/warn-net-spy-memcached-transcoders-serializingtranscoder-caught-ioexception-decoding-bytes-of-data/

My scenario is,
populate the entire table to memcached
get from memcached
While calling get if I type cast it to "List" instead of Object, I get a exception in the code populating the items to cache.
Please check the print stack trace code. Something really screwed here.

I have BBB and CCC extending from a class AAA. While I do a get in CCC,the stack trace shows up for BBB. Also in a random piece of code.

2011-11-29 14:49:26.564 WARN net.spy.memcached.transcoders.SerializingTranscoder: Caught IOException decoding 308 bytes of data java.io.InvalidClassException: com.mcruiseon.server.hibernate.DeviceDetails; com.mcruiseon.server.hibernate.DeviceDetails; no valid constructor
        at 
java.io.ObjectStreamClass.checkDeserialize(ObjectStreamClass.java:730)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1750)
        at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1346)
        at java.io.ObjectInputStream.readObject(ObjectInputStream.java:368)
at net.spy.memcached.transcoders.BaseSerializingTranscoder.deserialize(BaseSerializingTranscoder.java:100) at net.spy.memcached.transcoders.SerializingTranscoder.decode(SerializingTranscoder.java:66) at net.spy.memcached.transcoders.TranscodeService$1.call(TranscodeService.java:42)
        at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
        at java.util.concurrent.FutureTask.run(FutureTask.java:166)
at net.spy.memcached.transcoders.TranscodeService$Task.run(TranscodeService.java:89) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
        at java.lang.Thread.run(Thread.java:636)
Caused by: java.io.InvalidClassException: com.mcruiseon.server.hibernate.DeviceDetails; no valid constructor
        at java.io.ObjectStreamClass.<init>(ObjectStreamClass.java:488)
        at java.io.ObjectStreamClass.lookup(ObjectStreamClass.java:327)
        at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1130)
        at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:346)
at net.spy.memcached.transcoders.BaseSerializingTranscoder.serialize(BaseSerializingTranscoder.java:81) at net.spy.memcached.transcoders.SerializingTranscoder.encode(SerializingTranscoder.java:135)
        at 
net.spy.memcached.MemcachedClient.asyncStore(MemcachedClient.java:303)
        at net.spy.memcached.MemcachedClient.set(MemcachedClient.java:693)
        at BBB.cache(BBB.java:75)
        at BBb.insertRow(DeviceDetails.java:68)

What version of the product are you using? On what operating system?
Memcached 1.4.2 with spymemcacheclient

Please provide any additional information below.



Reply via email to