Skip to content

Pub/Sub component with Session enabled Azure Service Bus Topics doesn't complete messages in sequence #3719

@yogeshgotam

Description

@yogeshgotam

Expected Behavior

Azure service bus with sessions not only guarantees queuing & extraction order of messages but also the processing order of messages.
With sessions enabled pub/sub component should ensure that subscriber completes processing of messages in the order they were received.

Say, there are 2 messages in the queue for same session and 1 subscriber.

  1. The subscriber receives message1.
  2. The subscriber completes processing message1, which takes roughly 60 seconds.
  3. The subscriber receives message2.
  4. The subscriber completes processing message2, which takes about 10 seconds.

Actual Behavior

  1. The subscriber receives message1.
  2. The subscriber receives message2, while it is still not done with processing message1.
  3. The subscriber completes processing message2, which took about 10 seconds.
  4. The subscriber completes processing message1, which took about 60 seconds.

Steps to Reproduce the Problem

  • Create sample publisher & subscriber applications using Dapr.Client v1.15.2 & Dapr.AspNetCore v1.15.2
  • Configure pubsub component
    Image
  • Set subscription metadata with the following properties.
    requireSessions: true
    sessionIdleTimeoutInSec: 120
    maxConcurrentSessions: 4
  • Setup event handlers in subscriber such that it takes ~60s to process message1 & ~10s to process message2.
  • Publish message1 with SessionId=test1.
  • Publish message2 with SessionId=test1.

Release Note

RELEASE NOTE:

Metadata

Metadata

Assignees

No one assigned

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions