Uploaded image for project: 'Qpid Dispatch'
  1. Qpid Dispatch
  2. DISPATCH-437

Reconcile C and python management agents



    • Type: Bug
    • Status: Open
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: 0.6.0
    • Fix Version/s: Backlog
    • Component/s: Management Agent
    • Labels:


      The router now has two management agents, one in C and one in Python. They have overlapping and inconsistent functionality, which creates a difficult user experience. They need to be more closely aligned.

      Issues noted so far:

      • python agent "identity" attribute is unique per-agent. C agent "identity" is only unique per type and cannot be used in READ requests (DISPATCH-409)
      • python agent allows delete by name or identity alone, C agent requires the client specify the type as well (DISPATCH-408)
      • C agent does not do string conversions for integral attribute types as reqiured by the management spec. The "fix" in qdmanage is incorrect (DISPATCH-411)
      • There are two address types - org.apache.qpid.dispatch.router.config.address and org.apache.qpid.dispatch.router.address. There is no shortname for org.apache.qpid.dispatch.router.address. Should short names be removed ?

      I recommend that we need:

      1. A single code path to validate/convert/insert defaults in incoming requests based on the schema.
      2. A clear, documented statement of what "identity" means and whether it is type-scoped or agent-scoped, with a re-implementation of either the C or python entities to comply.

      We may need to rework the interface between python and C to make it efficient and thread-safe, or refactor some/all of the python functionality as C, but we do need to get rid of the redundancy and inconsistency.


          Issue Links



              • Assignee:
                gmurthy Ganesh Murthy
                aconway Alan Conway
              • Votes:
                0 Vote for this issue
                3 Start watching this issue


                • Created: