[jboss-dev-forums] [Design of POJO Server] - Re: FIELD granularity web session replication tests

bstansberry@jboss.com do-not-reply at jboss.com
Wed Feb 6 19:27:47 EST 2008


Enjoying talking to myself. ;)

This looks like another variant on the problem discussed at 
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4126757#4126757 .

FieldBasedSessionPassivationTestCase.testRedeploy() tests redeploying a war and still being able to access sessions.  The sessions are passivated to disk on undeploy and after redeploy can be activated.

Problem is JBC isn't handling the classloader very well during activation. It has logic to determine the correct classloader to use for deserialization based on the FQN of the node being deserialized.  But that is broken in the case of deserializing passivated nodes.  The effect is that JBC is using the cache's classloader to deserialize rather than the TCCL. This results in hitting the internal JVM caching problem Adrian was talking about on the other thread.

I don't really want to support retrieving sessions from disk following a cluster restart anyway, so this test is testing something that won't exist in CR1.  But I don't want to disable the test now since it has highlighted an important problem. I'll see if I can rearrange how test execution happens so this failure doesn't cause 30+ other tests to fail -- one failure is enough.

I'll add a test to the JBC testsuite for the underlying issue, and for CR1 will add a couple general classloading tests to the AS to test what happens when the first usage of a type following a redeploy is via deserialization.

View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4127222#4127222

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4127222



More information about the jboss-dev-forums mailing list