Qpid
  1. Qpid
  2. QPID-3477

Java Broker does not handle a rejection/acknowledgemnt with invalid code correctly

    Details

    • Type: Bug Bug
    • Status: Resolved
    • Priority: Minor Minor
    • Resolution: Fixed
    • Affects Version/s: 0.12
    • Fix Version/s: 0.15
    • Component/s: Java Broker
    • Labels:
      None

      Description

      When running the Python client 0-10 tests against the Java broker it was noticed that the following test would cause test run to hang/time out:

      qpid.tests.messaging.endpoints.SessionTests.testReject

      It appears that this is because the Java broker does not handle the following call correctly:

      self.ssn.acknowledge(echos[2], Disposition(REJECTED, code=3, text="test-reject"))

        Activity

        Hide
        Robbie Gemmell added a comment -

        Looks good.

        Show
        Robbie Gemmell added a comment - Looks good.
        Hide
        Rob Godfrey added a comment -

        I've changed the test to use a valid code, updated the Subscription so that rejected messages which cannot be routed via an alternate exchange are discarded, and removed the exclusion from the ignore list.

        Robbie - can you review?

        Show
        Rob Godfrey added a comment - I've changed the test to use a valid code, updated the Subscription so that rejected messages which cannot be routed via an alternate exchange are discarded, and removed the exclusion from the ignore list. Robbie - can you review?
        Hide
        Rob Godfrey added a comment -

        Agree - I'm assuming that the test is not supposed to be a test of invalid codes. We should change the code to 0 "unspecified".

        The Broker issue (that we should disconnect because of a protocol error should be separately JIRAd

        Show
        Rob Godfrey added a comment - Agree - I'm assuming that the test is not supposed to be a test of invalid codes. We should change the code to 0 "unspecified". The Broker issue (that we should disconnect because of a protocol error should be separately JIRAd
        Hide
        Robbie Gemmell added a comment -

        Patch was applied, was just a test excludes file.

        Looking at it again I think we either close it as 'wont fix', change the test to use legal values (its not clear to me its deliberately using an illegal one?) and unexclude it, or make the broker react more forcefully by closing the connection (which I assume we werent?).

        Show
        Robbie Gemmell added a comment - Patch was applied, was just a test excludes file. Looking at it again I think we either close it as 'wont fix', change the test to use legal values (its not clear to me its deliberately using an illegal one?) and unexclude it, or make the broker react more forcefully by closing the connection (which I assume we werent?).
        Hide
        Andrew MacBean added a comment -

        Can you please reveiew.

        Show
        Andrew MacBean added a comment - Can you please reveiew.
        Hide
        Andrew MacBean added a comment -

        Patch attached to add Java010Excludes file to prevent test running and allow for CI runs of Python tests.

        Show
        Andrew MacBean added a comment - Patch attached to add Java010Excludes file to prevent test running and allow for CI runs of Python tests.

          People

          • Assignee:
            Robbie Gemmell
            Reporter:
            Andrew MacBean
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development