FUSE Message Broker
  1. FUSE Message Broker
  2. MB-877

Investigate into possible performance improvements when dispatching to durable topic subscribers with msg selectors

    Details

    • Type: Enhancement Enhancement
    • Status: Resolved Resolved
    • Priority: Major Major
    • Resolution: Done
    • Affects Version/s: 5.4.2-fuse-02-00
    • Fix Version/s: 5.5.1-fuse-01-06
    • Component/s: broker
    • Labels:
      None
    • Environment:
      durable topic subscribers with message selector
    • Similar Issues:
      Show 10 results 

      Description

      When dispatching topic msgs to durable subscribers with msg selectors we always write the pending ack of each subscription to the index and persist the index, no matter whether the msg selector of the sub matches.
      In usecases where there are many subscribers with msg selectors and the msg matches only a few subscribers, we persist acks that are not necessarily needed.
      This place potentially unnecessary index writes and will affect the performance when dispatching to a lager number of subscribers.

      We should investigate into improvements so that pending acks are not written for subscribers whose selectors anyway don't match the msg.

        Activity

        Hide
        Timothy Bish
        added a comment - - edited

        After working through some of the test failures its become fairly obvious that applying the selector in KahaDB isn't really doable without some other major redesign work in the DB structure as you are left with insufficient information to properly recover durable subscriptions in many of the edge case scenarios. I worked through fixing that for many of the failing tests and ended up back to just about the same run times as reported previously and am still not confident that there aren't some other cases where we might fail to recover correctly. That being said I really can't recommend this approach at this time especially in the 5.6 release given the potential to introduce additional negative side effects.

        Show
        Timothy Bish
        added a comment - - edited After working through some of the test failures its become fairly obvious that applying the selector in KahaDB isn't really doable without some other major redesign work in the DB structure as you are left with insufficient information to properly recover durable subscriptions in many of the edge case scenarios. I worked through fixing that for many of the failing tests and ended up back to just about the same run times as reported previously and am still not confident that there aren't some other cases where we might fail to recover correctly. That being said I really can't recommend this approach at this time especially in the 5.6 release given the potential to introduce additional negative side effects.

          People

          • Assignee:
            Timothy Bish
            Reporter:
            Torsten Mielke
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: