Qpid
  1. Qpid
  2. QPID-3390

the Java broker does not validate the exchange-declare arguments are supported

    Details

    • Type: Bug Bug
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 0.6, 0.7, 0.8, 0.9, 0.10, 0.11, 0.12
    • Fix Version/s: 0.13
    • Component/s: Java Broker
    • Labels:
      None

      Description

      The Java broker does not currently validate the arguments supplied are supported, and simply ignores ones which are not known. The 0-10 spec requires that a 'NOT_IMPLEMENTED' session execution exception be raised when presented with an exchange declare argument the broker doesn't have knowledge of; this should be implemented.

        Activity

        Hide
        Robbie Gemmell added a comment - - edited

        Hi Keith, can your review these changes please?

        The broker now validates the exchange-declare arguments to ensure none are present, since we don't currently support any. If arguments are found, an executionException is raised indicating support for the arguments is not implemented.

        A test was added to ensure the expected behaviour with nonsense argument, at the same time splitting 2 of the existing tests (which would now error due to the validation) into versions with valid arguments (for the C++ broker at least) and those with no arguments. This allows the rest of the functionality they test to be tested with the Java broker until such time as QPID-3392 is completed.

        Show
        Robbie Gemmell added a comment - - edited Hi Keith, can your review these changes please? The broker now validates the exchange-declare arguments to ensure none are present, since we don't currently support any. If arguments are found, an executionException is raised indicating support for the arguments is not implemented. A test was added to ensure the expected behaviour with nonsense argument, at the same time splitting 2 of the existing tests (which would now error due to the validation) into versions with valid arguments (for the C++ broker at least) and those with no arguments. This allows the rest of the functionality they test to be tested with the Java broker until such time as QPID-3392 is completed.
        Hide
        Keith Wall added a comment -

        Hi Robbie,

        I've reviewed the change and I have no comments.

        cheers Keith.

        Show
        Keith Wall added a comment - Hi Robbie, I've reviewed the change and I have no comments. cheers Keith.

          People

          • Assignee:
            Keith Wall
            Reporter:
            Robbie Gemmell
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development