You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by bu...@apache.org on 2002/01/13 22:28:42 UTC
DO NOT REPLY [Bug 5829] New: -
StandardManager needs to cope with sessions throwing exception in read/write
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=5829>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND
INSERTED IN THE BUG DATABASE.
http://nagoya.apache.org/bugzilla/show_bug.cgi?id=5829
StandardManager needs to cope with sessions throwing exception in read/write
Summary: StandardManager needs to cope with sessions throwing
exception in read/write
Product: Tomcat 4
Version: 4.0.1 Final
Platform: Other
OS/Version: Other
Status: NEW
Severity: Major
Priority: Other
Component: Catalina
AssignedTo: tomcat-dev@jakarta.apache.org
ReportedBy: dsl@ts.com
In StandardManager, where all sessions are written into the same file
(SESSIONS.ser) during shutdown..
If an attribute claims to be serializable but yet throws an exception when you
attempt to do so (for example a HashMap containing some non-serializable values)
then this messes things up. The object output stream is then in a messed up
state for a read; eg. the attribute which is a HashMap will read beyond the end
of the data that it wrote in attempting to repopulate its value.., this then
effectively makes the file garbage for the following sessions that are written.
ie. if one session breaks it, the rest of the sessions will fail..
Furthermore, if you try to reload some attribute for which an IOException
is thrown during the reloading (eg. Externalizable attributes with
protected/private constructors) then the resulting exception also halts the
reload of the remaining sessions in this context..
Thus, each session needs to store its state in a separate file, and the write
and read of each session needs to be wrapped up in some better exception
catching.
I've a patch for this..
--
To unsubscribe, e-mail: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>