Uploaded image for project: 'Infinispan'
  1. Infinispan
  2. ISPN-638

Exceptions thrown by command invocation in CallInterceptor.handleDefault(...) are hidden by catch cause

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Major Major
    • 4.2.0.ALPHA2, 4.2.0.Final
    • 4.0.0.Final, 4.1.0.Final, 4.2.0.ALPHA1
    • None
    • None

      If CallInterceptor.handleDefault(...) is called with a RemoteTxInvocationContext, and if command invocation throws an exception, the catch clause ends up hiding this with an IllegalStateException.
      The culprit is RemoteTxInvocationContext.isValidRunningTx(), which internally calls RemoteTxInvocationContext.getRunningTransaction(), which always throws an ISE.
      If this method would instead return null, RemoteTxInvocationContext.isValidRunningTx() will return false, and all is well, and the genuine exception can propagate properly.

        1. patch.txt
          0.6 kB
          Paul Ferraro

              manik_jira Manik Surtani (Inactive)
              pferraro@redhat.com Paul Ferraro
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

                Created:
                Updated:
                Resolved: