"Filip Hanik (lists)" wrote: > What's concerning?
"the session actually randomly loses data sometimes" > > To set the record straight, I have not worked with context reloads, so I > don't know what changed from 5.0.25 to 5.0.28. > But I do know this, don't expect clustering to work with nodes popping in > and out all the time. Yes session replication is a nifty thing, but if you > abuse it its going to not go over well, just like anything else. "don't expect clustering to work"? > > Let me know when you have a good test case, as all my tests are coming > through just fine Interesting. There's not really anything in the test to change. Just putting an object in the session and getting out after a context restart. Well, I appreciate the time. Thanks, Matthew > > I will not be able to work on the context reload problem anytime soon, so > don't hold your breath. > > Brantley, if you read this, make sure you populate your bug report with all > info, OS JDK version, etc > > Filip > > -----Original Message----- > From: Matthew Stone [mailto:[EMAIL PROTECTED] > Sent: Tuesday, October 19, 2004 11:15 AM > To: Tomcat Users List > Subject: Re: Session problems with cluster > > Hmm, that's a bit concerning. > > Brantley Hobbs wrote: > > > Matt, > > > > We've seen a similar problem with our cluster. > > > > First off, let me say that I'm the person that filed bug #31495, so > > we've been struggling with clustering for a while now. > > > > In our case, we've actually stored a string as a session attribute on a > > page, and then keep reloading the page, appending to the string with > > each reload (e.g., myString += "-1" should produce "-1-1-1-1-1-1..." > > with the string growing longer with each reload). What we've found is > > that the session actually randomly loses data sometimes (i.e., the > > string doesn't get appended). We're not at the point yet to be able to > > identify the problem well enough to file a bug, but that may be coming > > soon. The problem does not happen at all when there is only one machine > > in the "cluster". > > > > This might not seem on the surface to be the same problem, but it seems > > suspicious that you're also noticing data consistency issues. > > > > Filip, as soon as we can we will get some test code together that > > reproduces the problem and get it to you. Is it appropriate to send it > > directly to you? > > > > Thanks, > > Brantley Hobbs > > > > > -----Original Message----- > > > From: Matthew Stone [mailto:[EMAIL PROTECTED] > > > Sent: Monday, October 18, 2004 6:23 PM > > > To: Tomcat Users List > > > Subject: Re: Session problems with cluster > > > > > > Filip, > > > > > > I discovered this when I had one node in the cluster. With no other > > nodes > > > to receive a session from, I expected the session to be > > > empty. Is the session intended to survive reloads in this case? I > > would > > > guess not, just because of the complexities involved with the > > > > > > class definitions. > > > > > > This code should be enough to cause the problem after a stop and start > > of > > > the context. > > > > > > :test.jsp > > > <html> > > > <% > > > Object obj = request.getSession ().getAttribute ("my_object"); > > > > > > if (obj == null) { > > > out.println("MyObject was null. Adding instance to session, please > > > start and stop context.<br>"); > > > request.getSession ().setAttribute ("my_object", new > > testpkg.MyObject > > > ()); > > > } else { > > > out.println ("<li>MyObject was in session"); > > > out.println ("<li>Do class names match: " + (obj.getClass > > ().getName > > > ().equals (testpkg.MyObject.class.getName ()))); > > > out.println ("<li>Are objects assignable: " + (obj instanceof > > > testpkg.MyObject) + "<br>"); > > > > > > try { > > > testpkg.MyObject o = (testpkg.MyObject) request.getSession > > > ().getAttribute ("my_object"); > > > } catch (ClassCastException e) { > > > out.println ("<li>" + e); > > > } > > > } > > > > > > %> > > > </html> > > > > > > :MyObject.java > > > package testpkg; > > > > > > public class MyObject implements java.io.Serializable { > > > public int i = 0; > > > } > > > > > > web.xml > > > > > > <?xml version="1.0" encoding="ISO-8859-1"?> > > > <!DOCTYPE web-app > > > PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN" > > > "http://java.sun.com/dtd/web-app_2_3.dtd"> > > > > > > <web-app> > > > <display-name>Test</display-name> > > > > > > <distributable/> > > > </web-app> > > > > > > > > > - Used all the packaged cluster settings. > > > > > > Thanks, > > > Matthew > > > > > > > > > Filip Hanik - Dev wrote: > > > > > > > >I'm expecting a null from > > > > >the following line > > > > > > > > No, you would not expect null. The session replication mechanism is > > > supposed to survive context reloads. > > > > But you should not be getting a ClassCastException, if you are I > > would > > > love for you to submit a test case. > > > > > > > > When a context is reloaded, it will startup again, at which point > > the > > > manager will request the state from another server. This data > > > > comes over serialized and is reloaded by the new classloader, hence > > you > > > shouldn't get ClassCastExceptions, > > > > > > > > the only way you would get class cast exceptions is if you actually > > > recompiled the class on one of your servers. > > > > > > > > Due to busy work schedule, I haven't had a chance to fix the context > > > reload, I only recently found out (same way you did) that > > > > context reload was broken. > > > > > > > > Filip > > > > > > > > ----- Original Message ----- > > > > From: "Matthew Stone" <[EMAIL PROTECTED]> > > > > To: <[EMAIL PROTECTED]> > > > > Sent: Monday, October 18, 2004 2:09 PM > > > > Subject: Session problems with cluster > > > > > > > > When I restart the context of a clustered node the session doesnt > > seem > > > > to be cleared. After I restart the context, I'm expecting a null > > from > > > > the following line but I'm getting a ClassCastException because of > > the > > > > different class loaders that loaded MyObject. > > > > > > > > MyObject obj = (MyObject) request.getSession ().getAttribute > > > > ("my_object"); > > > > > > > > I'm using 5.0.25 because I was running into bug 31495 "Context > > reload > > > > causes ClusterManager to stop operating" in version 5.0.28. > > > > > > > > Does 5.0.29 address this? I didn't see that the bug was closed. > > > > > > > > > > --------------------------------------------------------------------- > > > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > > > > > --------------------------------------------------------------------- > > > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > > > > --------------------------------------------------------------------- > > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > For additional commands, e-mail: [EMAIL PROTECTED] > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > --- > Incoming mail is certified Virus Free. > Checked by AVG anti-virus system (http://www.grisoft.com). > Version: 6.0.778 / Virus Database: 525 - Release Date: 10/15/2004 > > --- > Outgoing mail is certified Virus Free. > Checked by AVG anti-virus system (http://www.grisoft.com). > Version: 6.0.778 / Virus Database: 525 - Release Date: 10/15/2004 > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]