Uploaded image for project: 'Qpid Proton'
  1. Qpid Proton
  2. PROTON-1107

[proton-j] only create the attachments Record on a Delivery if it actually gets used

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • proton-0.10, proton-0.11.0, proton-0.11.1
    • proton-0.12.0
    • proton-j
    • None

    Description

      We should only create the attachments Record on a Delivery if it actually gets used.

      When the Reactor bits were added in 0.10 via PROTON-881, all of the main engine objects were made to implement the 'Extendable' interface that gave them an 'attachments' 'Record' that can be used to store things, by default seemingly just details relating to the Handler heirarchy as used by the Reactor.

      In the case of the Delivery objects this currently means every message sent or received by the engine creates a RecordImpl object (which in turn holds a HashMap). This happens regardless of whether the Reactor is even being used, and whether there are any attachments being set/checked on the Delivery. Even when the Reactor is being used, by default the lowest level the Handlers seem to get looked up when process is called is at the Link level (then Session, then Connection, etc) meaning its likely the Delivery attachments will never be used unless by the application code.

      Attachments

        Activity

          People

            robbie Robbie Gemmell
            robbie Robbie Gemmell
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: