Uploaded image for project: 'Seam 2'
  1. Seam 2
  2. JBSEAM-3680

Locking issue for ConversationEntry when redirecting at ExceptionFilter

    Details

    • Type: Bug
    • Status: Closed (View Workflow)
    • Priority: Major
    • Resolution: Done
    • Affects Version/s: 2.0.2.SP1
    • Fix Version/s: 2.0.3.CR2
    • Component/s: Exception Handling
    • Labels:
      None
    • Environment:

      Windows XP SP2, JBoss EAP 4.3

      Description

      When redirecting at ExceptionFilter, it seems that the ConversationEntry lock is not released.
      Therefore, if next request is processed by the another thread, the thread wait for until unlocking.
      This results in the user being redirected to the no-conversation-view-id after the concurrent-request-timeout expires.

      I checked the Seam 2.0.2.SP1 source. It seems that the unlocking process for ConversationEntry
      is skipped when Exception is thrown from JSF Action that invoked in INVOKE_APPLICATION phase.
      When Exception is not thrown, the lock is release after INVOKE_APPLICATION phase.
      (at method calling "afterResponseComplete(facesContext)" at 249 line of SeamPhaseListener.java)
      When Exception is thrown, this method is not called because of the result of FacesContext#getResponseComplete()
      is FALSE.

        Gliffy Diagrams

          Attachments

            Issue Links

              Activity

                People

                • Assignee:
                  norman.richards Norman Richards
                  Reporter:
                  wadahiro Hiroyuki Wada
                • Votes:
                  1 Vote for this issue
                  Watchers:
                  2 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved: