2 Replies Latest reply on Nov 7, 2008 6:17 AM by Hiroyuki Wada

    Locking issue for ConversationEntry when redirecting at ExceptionFilter

    Hiroyuki Wada Newbie

      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 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.

      Is it a bug?