Closed jvstein closed 1 year ago
Hi, I've tried to reproduce it and couldn't. Could you please add a repro or even a failing test? Also please specify library version
I'm able to reproduce with this test program with version 2.12.2.
I'm using a docker based cluster to test. The initialization looks like this:
$ docker run -d -it \
-p 6650:6650 \
-p 8080:8080 \
-v pulsardata:/pulsar/data \
-v pulsarconf:/pulsar/conf \
--name pulsar-standalone \
apachepulsar/pulsar:latest \
bin/pulsar standalone
The topic is created using this command:
docker exec -it pulsar-standalone bin/pulsar-admin topics create-partitioned-topic persistent://public/default/my-topic --partitions 10
dotnet restore
dotnet build
mono ./bin/Debug/net48/bug225.exe
(on Linux)@jvstein thank you for the repro, I haven't tried it myself yet, but wanted to ask - is this reproduced on other combinations (like .net48 on windows or net6 on linux)?
I can reproduce against net6 and net7 on Linux. I haven't tried reproducing on net48 on Windows.
Ok, I was able to reproduce issue, will see what I can do
@jvstein I've just published 2.12.3 version, can you please check if it fixes your issue
@Lanayx Just tested it out. It's working as expected now. Thanks!
Ok, closing it then
I'm seeing an exception with the
CancellationTokenSource
when trying to dispose a partitioned consumer.When this happens, it seems to deadlock my process. I assume this is because of the sub-consumers for each partition.
I'm just doing a
await consumer.DisposeAsync();
with nothing special. My topic has 10 partitions and I can reproduce this problem against an empty queue. The cancellation needs to be triggered after the consumer gets to themt/consumer(0, topic) created
log message to reproduce.