Uploaded image for project: 'ActiveMQ .Net'
  1. ActiveMQ .Net
  2. AMQNET-360

ActiveMQ client ResponseCorrelator doesn't handle ExceptionResponse commands correctly.

Attach filesAttach ScreenshotVotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Minor
    • Resolution: Fixed
    • 1.5.0, 1.5.1, 1.5.2
    • 1.6.0
    • ActiveMQ
    • None

    Description

      The current implementation of the ResponseCorrelator deals with exception responses by calling the transport exception listener as well as throwing an exception from the request methods instead of just returning the ExceptionResponse message and allowing the caller to deal with the error. This prevents the caller from being able to recover from non-critical messages as the ExceptionListener calls marks the transport as failed in the Connection when it needn't be. The correct operation should be for the ExceptionResponse to be propagated to the caller (Connection) and allow that to deal with the error.

      This is needed so that cases like TransactionRollbackException's returned from Commit requests when a failover occurs and the State Tracker rolls back the transaction because its state is in doubt. This is not a critical error and the Connection should be allowed to continue after this. Other cases similar to this also exist.

      Attachments

        Issue Links

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            tabish Timothy A. Bish
            tabish Timothy A. Bish
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment