Thanks Marvin, you nailed it! This is MySQL. I did see the note on the wiki page<http://www.ja-sig.org/wiki/display/CASUM/JpaTicketRegistry>about increasing blob sizes, but hadn't thought that it would apply in this case as my services registry only has about 10 items. It seems that when doing proxy authentication each request adds to the size of the SERVICES_GRANTED_ACCESS_TO data significantly.
Changing this column to a long_blob fixed my problem Thanks again for your [exceedingly prompt] help, Adam On Fri, Sep 18, 2009 at 3:26 PM, Marvin Addison <[email protected]>wrote: > The follow part of the stack trace you attached is interesting: > > Caused by: java.io.EOFException > at > java.io.ObjectInputStream$PeekInputStream.readFully(ObjectInputStream.java:2297) > at > java.io.ObjectInputStream$BlockDataInputStream.readUTFBody(ObjectInputStream.java:3035) > at > java.io.ObjectInputStream$BlockDataInputStream.readUTF(ObjectInputStream.java:2836) > at java.io.ObjectInputStream.readString(ObjectInputStream.java:1616) > at > java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1337) > at java.io.ObjectInputStream.readObject(ObjectInputStream.java:368) > at java.util.LinkedList.readObject(LinkedList.java:981) > at sun.reflect.GeneratedMethodAccessor36.invoke(Unknown Source) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:616) > at > java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:991) > at > java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1865) > at > java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1770) > at > java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1346) > at java.io.ObjectInputStream.readObject(ObjectInputStream.java:368) > at java.util.HashMap.readObject(HashMap.java:1047) > > Note the last line of that trace is a HashMap trying to deserialize > its contents. That could point to the following in > TicketGrantingTicketImpl: > > @Lob > @Column(name="SERVICES_GRANTED_ACCESS_TO", nullable=false) > private final HashMap<String,Service> services = new > HashMap<String, Service>(); > > As you can see, the service objects themselves are being serialized > and stored in the database. Maybe the BLOB storage limit is being hit > on your database platform after about ~25 tries, causing the > serialized data stream to be truncated, which would cause subsequent > reads to fail in the way you're seeing. What database platform is > this? > > M > > -- > You are currently subscribed to [email protected] as: > [email protected] > To unsubscribe, change settings or access archives, see > http://www.ja-sig.org/wiki/display/JSG/cas-user > -- You are currently subscribed to [email protected] as: [email protected] To unsubscribe, change settings or access archives, see http://www.ja-sig.org/wiki/display/JSG/cas-user
