Uploaded image for project: 'Qpid'
  1. Qpid
  2. QPID-8488

[Broker-J] Enhance ACL rule with multi-value properties

    XMLWordPrintableJSON

    Details

    • Type: Improvement
    • Status: Open
    • Priority: Minor
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: Broker-J
    • Labels:

      Description

      We are using an extensive set of the ACL rules. Our set contains a lot of rules that differ only in single value. For example:

      ACL ALLOW CON_USER CONSUME QUEUE name="broadcast.ABC.Public"
      ACL ALLOW CON_USER CONSUME QUEUE name="broadcast.ABC.Private"
      ACL ALLOW CON_USER CONSUME QUEUE name="broadcast.ABC.Repeat"
      ACL ALLOW CON_USER CONSUME QUEUE name="response.ABC"
      ACL ALLOW CON_USER CONSUME QUEUE name="error.ABC"
      

      These rules differ only in "name" property, hence if the "name" was a multi-value property then it would allow us to merge the rules into one:

      ACL ALLOW CON_USER CONSUME QUEUE name=[broadcast.ABC.Public, broadcast.ABC.Private, broadcast.ABC.Repeat, response.ABC, error.ABC]
      

      The multi-value functionality would decrement the amount of our rules substantially and improves the broker throughput.

      Proposed solution:

      We could set up multiple possible values as a comma separated list in brackets. The multi-values property can be implemented as the compressed prefix tree that checks an input string in linear time.
      This task depends on the QPID-8487 because the refactoring of QPID-8487 clears the way for an effective implementation.

        Attachments

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              lacam Marek Laca
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated: