[jboss-jira] [JBoss JIRA] (WFLY-6665) clustering-web-infinispan: missing error handling when unmarshalling session

Kamil Podlešák (JIRA) issues at jboss.org
Wed Jun 1 09:27:01 EDT 2016


Kamil Podlešák created WFLY-6665:
------------------------------------

             Summary: clustering-web-infinispan: missing error handling when unmarshalling session
                 Key: WFLY-6665
                 URL: https://issues.jboss.org/browse/WFLY-6665
             Project: WildFly
          Issue Type: Bug
          Components: Clustering
    Affects Versions: 10.0.0.Final
            Reporter: Kamil Podlešák
            Assignee: Paul Ferraro


When unmarshalling of session throws _unexpected_ exception, it is not handled correctly and is propagated to undertow worker, thus causing generic http 500 error to be shown to user. Problem is that each request tries to unmarshall session again and fails... making this session completely broken with no recovery until session cookie expires or is removed (ie browser closed).

Some exceptions are _expected_ and handled correctly by removing session and continuing (usually, new session is created). They are catched in  MarshalledValueMarshaller.read, wrapped by InvalidSerializedFormException and then handled in CoarseSessionAttributesFactory.findValue.  Expected exceptions are these:
* java.lang.ClassNotFoundException
* java.io.InvalidClassException
* java.io.InvalidObjectException
This list is sufficient in *most* of the time, but sometimes even jboss-marshalling-river throws some RuntimeException (not to mention IOException).

Note: application must be marked as "distributable" in web.xml or equivalent.



--
This message was sent by Atlassian JIRA
(v6.4.11#64026)



More information about the jboss-jira mailing list