tomcat-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Filip Hanik - Dev Lists <devli...@hanik.com>
Subject Re: IllegalState during invalidate a (Delta)Session.
Date Fri, 27 Jan 2006 16:00:02 GMT
I can't implement the change you suggest as it could result in a 
circular loop,
expire - fire event - last access -> isValid() -> expire -> fire event 
-> last access

I have added in the missing message for this event, if you are not happy 
with that solution, please provide a simple test case for me and I will 
make the adjustments

Filip


jgroups@to3.de wrote:

> Hi there,
>
> I've a little cluster with 4 Tomcats 5.5.12 running.
> During tests I have found that exception while I
> logged out a user on this cluster.
>
> I hope this is the right Maillist for that problem...
>
> java.lang.IllegalStateException: Cannot find message associated with 
> key standardSession.getLastAccessedTime
>        at 
> org.apache.catalina.cluster.session.DeltaSession.getLastAccessedTime(DeltaSession.java:437)

>
>        at 
> org.apache.catalina.authenticator.SingleSignOn.sessionEvent(SingleSignOn.java:298) 
>
>        at 
> org.apache.catalina.cluster.session.DeltaSession.fireSessionEvent(DeltaSession.java:1553)

>
>        at 
> org.apache.catalina.cluster.session.DeltaSession.expire(DeltaSession.java:735) 
>
>        at 
> org.apache.catalina.cluster.session.DeltaSession.expire(DeltaSession.java:674) 
>
>        at 
> org.apache.catalina.cluster.session.DeltaSession.expire(DeltaSession.java:662) 
>
>        at 
> org.apache.catalina.cluster.session.DeltaSession.invalidate(DeltaSession.java:1068) 
>
>        at 
> org.apache.catalina.cluster.session.DeltaSessionFacade.invalidate(DeltaSessionFacade.java:150)

>
>
> I've searched the source-tree and changed the corresponding method from :
> ---------------
> public long getLastAccessedTime() {
>        if (!isValid) {
>            throw new IllegalStateException(sm
>                    .getString("standardSession.getLastAccessedTime"));
>    }
>       return (this.lastAccessedTime);
> }
>
> to (now it will call the isValid()-method instead of the isValid field)
>
> public long getLastAccessedTime() {
>        if (!isValid()) {
>            throw new IllegalStateException(sm
>                    .getString("standardSession.getLastAccessedTime"));
>
>        }             return (this.lastAccessedTime);
> }
> -------------------
>
> This fixed my logout process immediately.
> The same problem was with Tomcat 5.5.15.
>
> Is that a known bug? Has anyone fixed this problem in an offical patch?
>
>
>
> ------------------------------------------
>
> regards,
>    Tom Neumann / tone
>
>
> "Der Heitere ist der Meister seiner Seele."
>
>         William Shakespeare (1564 - 1616)
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
> For additional commands, e-mail: dev-help@tomcat.apache.org
>


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org


Mime
View raw message