Author: markt
Date: Thu Oct  6 08:11:15 2016
New Revision: 1763512

URL: http://svn.apache.org/viewvc?rev=1763512&view=rev
Log:
Fix https://bz.apache.org/bugzilla/show_bug.cgi?id=60199
Log a warning if deserialization issues prevent a session attribute from being 
loaded.

Modified:
    tomcat/trunk/java/org/apache/catalina/session/LocalStrings.properties
    tomcat/trunk/java/org/apache/catalina/session/StandardSession.java
    tomcat/trunk/webapps/docs/changelog.xml

Modified: tomcat/trunk/java/org/apache/catalina/session/LocalStrings.properties
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/session/LocalStrings.properties?rev=1763512&r1=1763511&r2=1763512&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/session/LocalStrings.properties 
(original)
+++ tomcat/trunk/java/org/apache/catalina/session/LocalStrings.properties Thu 
Oct  6 08:11:15 2016
@@ -56,6 +56,7 @@ standardSession.getThisAccessedTime.ise=
 standardSession.getLastAccessedTime.ise=getLastAccessedTime: Session already 
invalidated
 standardSession.getValueNames.ise=getValueNames: Session already invalidated
 standardSession.logoutfail=Exception logging out user when expiring session
+standardSession.notDeserializable=Cannot deserialize session attribute {0} for 
session {1}
 standardSession.notSerializable=Cannot serialize session attribute {0} for 
session {1}
 standardSession.removeAttribute.ise=removeAttribute: Session already 
invalidated
 standardSession.sessionEvent=Session event listener threw exception

Modified: tomcat/trunk/java/org/apache/catalina/session/StandardSession.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/session/StandardSession.java?rev=1763512&r1=1763511&r2=1763512&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/session/StandardSession.java 
(original)
+++ tomcat/trunk/java/org/apache/catalina/session/StandardSession.java Thu Oct  
6 08:11:15 2016
@@ -1611,6 +1611,12 @@ public class StandardSession implements
                 value = stream.readObject();
             } catch (WriteAbortedException wae) {
                 if (wae.getCause() instanceof NotSerializableException) {
+                    String msg = 
sm.getString("standardSession.notDeserializable", name, id);
+                    if (manager.getContext().getLogger().isDebugEnabled()) {
+                        manager.getContext().getLogger().debug(msg, wae);
+                    } else {
+                        manager.getContext().getLogger().warn(msg);
+                    }
                     // Skip non serializable attributes
                     continue;
                 }

Modified: tomcat/trunk/webapps/docs/changelog.xml
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/changelog.xml?rev=1763512&r1=1763511&r2=1763512&view=diff
==============================================================================
--- tomcat/trunk/webapps/docs/changelog.xml (original)
+++ tomcat/trunk/webapps/docs/changelog.xml Thu Oct  6 08:11:15 2016
@@ -121,6 +121,10 @@
         <bug>60196</bug>: Ensure that the <code>isMandatory</code> flag is
         correctly set when using JASPIC authentication. (markt)
       </fix>
+      <fix>
+        <bug>60199</bug>: Log a warning if deserialization issues prevent a
+        session attribute from being loaded. (markt)
+      </fix>
     </changelog>
   </subsection>
   <subsection name="Coyote">



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

Reply via email to