Uploaded image for project: 'Spring XD'
  1. Spring XD
  2. XD-3612

Redis Message Bus still accessed when using direct binding

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: To Do
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: 1.2.1
    • Fix Version/s: None
    • Component/s: Runtime
    • Labels:
      None
    • Story Points:
      5
    • Rank (Obsolete):
      9223372036854775807

      Description

      I have a distributed XD Cluster with one admin and two containers using Redis as the message bus. In certain cases I want to use direct binding to remove communication with the message bus and deploy all modules to all containers with the aim of improving performance. I’ve found that even when using direct binding, XD still communicates with Redis when it shouldn’t need to. This could have an impact on performance.

      This is easily reproducible in our 2 container cluster as follows:

      Use the redis-cli monitor command to monitor Redis.

      Create and deploy a simple stream with direct binding:

      stream create --definition "http | log" --name httpLog
      stream deploy --name httpLog --properties "module.*.count=0"
      

      As expected both modules get deployed to both nodes. Testing shows messages sent to the http endpoint of one container always come out in the log for that container implying direct binding is in play as expected.

      However once the streams are deployed the Redis monitor starts showing a Redis queue being accessed from both XD conatiners:

      1444731527.086325 [0 10.0.1.8:57454] "brpop" "queue.httpLog.0" "1"
      1444731528.086304 [0 10.0.1.4:37337] "brpop" "queue.httpLog.0" "1"
      1444731529.086341 [0 10.0.1.8:57454] "brpop" "queue.httpLog.0" "1"
      1444731530.086317 [0 10.0.1.4:37337] "brpop" "queue.httpLog.0" "1"
      1444731531.086340 [0 10.0.1.8:57454] "brpop" "queue.httpLog.0" "1"
      1444731532.086505 [0 10.0.1.4:37337] "brpop" "queue.httpLog.0" "1"
      

      This shouldn’t need to happen in direct binding. These messages stop once the stream is undeployed.

        Attachments

          Activity

            People

            Assignee:
            Unassigned Unassigned
            Reporter:
            david_geary David Geary
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Dates

              Created:
              Updated: