Skip to content

Ignoring flow control message when resetCursorInProgress=TRUE #14559

@wenbingshen

Description

@wenbingshen

Describe the bug

  1. Our broker is highly busy
    image

  2. Our business uses Reader for consumption, in which seek operations are often performed.

  3. In the seek operation of pulsar, there will be a process of actively disconnecting the consumer and canceling the currently reading operation.

image

  1. Next, whether the seek operation is completed or not, the client has the right to subscribe the subscription.

image

  1. Because the server thread pool is busy, the seek operation is delayed. The client first subscribed a subscription and initiates a FLOW request, causing the broker to start reading data.

image

  1. Next, the seek operation is completed, and the positions of md position and rd position are reset to the seek position.

image

  1. Then, the read operation is completed, after the data is sent to the client, the client executes ack, and md and rd are set to a certain position of the message read by the client.

image

  1. Next, the seek operation is completed, and the positions of md position and rd position are reset to the seek position.

image

  1. Then, the read operation is completed, after the data is sent to the client, the client executes ack, and md and rd are set to a certain position of the message read by the client.

image

The entire execution flow is shown in the following figure:
image

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions