Skip to content

Stop dispatching when Consumer#close() is called #142

Closed
@hanzo2001

Description

@hanzo2001

I have a test Consumer that reads from a stream with 10000 messages.
I understand that the ::close operation will take some time before it is applied. However, when I call the close() method, the consumer will run for another ~400ms.

After attempting to close, the consumer sporadically reports every 40-60 messages with the same debug line.

... keeps consuming messages ...
DEBUG [pool-3-thread-1] c.r.s.i.ConsumersCoordinator   - Could not find stream subscription 0 or subscription closing, not providing credits
... keeps consuming messages ...

Eventually, the client does close

... keeps consuming messages ...
DEBUG [Thread-0] c.rabbitmq.stream.impl.Client  - Closing client
DEBUG [Thread-0] c.r.s.i.ConsumersCoordinator   - Disposed client subscription pool on ws-014:5552 because it was empty
DEBUG [Thread-0] c.rabbitmq.stream.impl.Client  - Client closed
DEBUG [Thread-0] c.r.s.i.ConsumersCoordinator   - Disposed client subscription pool on ws-014:5552 because it was empty
DEBUG [Thread-0] c.r.stream.impl.StreamConsumer - Calling tracking consumer closing callback (may be no-op)
DEBUG [Thread-0] c.r.stream.impl.StreamConsumer - Closed consumer successfully
DEBUG [Thread-0] c.r.stream.impl.StreamConsumer - Closed consumer successfully

Is there a way to control this delay?
The log shows duplicate lines. I don't know if this is normal.

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions