BewareMyPower commented on issue #16509:
URL: https://github.com/apache/pulsar/issues/16509#issuecomment-1179690575
It can be reproduced easily with following command:
```bash
./tests/main --gtest_filter='ClientTest.testWrongListener' --gtest_repeat=10
```
The root cause is the connection could be broken after
`ServiceUnitNotReady`, then the next time the topic is subscribed would it fail
with `NotConnected` or `ConnectError` before receiving `ServiceUnitNotReady`
from broker.
The `ConnectError` case:
```
2022-07-10 17:14:13.531 ERROR [0x70000f5db000] PartitionedProducerImpl:150 |
Unable to create Producer for partition - 0 Error - ServiceUnitNotReady
2022-07-10 17:14:13.531 INFO [0x1115c0600] Client:88 | Subscribing on Topic
:client-test-wrong-listener-1657444453
2022-07-10 17:14:13.531 ERROR [0x70000f5db000] ClientConnection:597 |
[127.0.0.1:54266 -> 127.0.0.1:6650] Read operation failed: Bad file descriptor
2022-07-10 17:14:13.531 INFO [0x70000f5db000] ClientConnection:1560 |
[127.0.0.1:54266 -> 127.0.0.1:6650] Connection closed
2022-07-10 17:14:13.531 ERROR [0x70000f5db000] PartitionedProducerImpl:289 |
Closing the producer failed for partition - 0
2022-07-10 17:14:13.531 INFO [0x70000f5db000] ProducerImpl:665 |
[persistent://public/default/client-test-wrong-listener-1657444453-partition-2,
] Closing producer for topic
persistent://public/default/client-test-wrong-listener-1657444453-partition-2
2022-07-10 17:14:13.531 INFO [0x70000f5db000] ProducerImpl:628 | Producer -
[persistent://public/default/client-test-wrong-listener-1657444453-partition-1,
] , [batchMessageContainer = { BatchMessageContainer [size = 0] [bytes = 0]
[maxSize = 1000] [maxBytes = 131072] [topicName =
persistent://public/default/client-test-wrong-listener-1657444453-partition-1]
[numberOfBatchesSent_ = 1] [averageBatchSize_ = 0] }]
2022-07-10 17:14:13.531 INFO [0x70000f5db000] ProducerImpl:628 | Producer -
[persistent://public/default/client-test-wrong-listener-1657444453-partition-0,
] , [batchMessageContainer = { BatchMessageContainer [size = 0] [bytes = 0]
[maxSize = 1000] [maxBytes = 131072] [topicName =
persistent://public/default/client-test-wrong-listener-1657444453-partition-0]
[numberOfBatchesSent_ = 1] [averageBatchSize_ = 0] }]
2022-07-10 17:14:13.531 INFO [0x70000f5db000] ProducerImpl:628 | Producer -
[persistent://public/default/client-test-wrong-listener-1657444453-partition-2,
] , [batchMessageContainer = { BatchMessageContainer [size = 0] [bytes = 0]
[maxSize = 1000] [maxBytes = 131072] [topicName =
persistent://public/default/client-test-wrong-listener-1657444453-partition-2]
[numberOfBatchesSent_ = 1] [averageBatchSize_ = 0] }]
2022-07-10 17:14:13.532 ERROR [0x70000f5db000] ClientImpl:398 | Error
Checking/Getting Partition Metadata while Subscribing on
persistent://public/default/client-test-wrong-listener-1657444453 --
ConnectError
```
The `NotConnected` case:
```
022-07-10 17:14:20.800 INFO [0x1115c0600] Client:88 | Subscribing on Topic
:client-test-wrong-listener-1657444460
2022-07-10 17:14:20.800 ERROR [0x70000f558000] ClientConnection:597 |
[127.0.0.1:54305 -> 127.0.0.1:6650] Read operation failed: Bad file descriptor
2022-07-10 17:14:20.801 INFO [0x70000f558000] ClientConnection:1560 |
[127.0.0.1:54305 -> 127.0.0.1:6650] Connection closed
2022-07-10 17:14:20.801 ERROR [0x1115c0600] ClientImpl:398 | Error
Checking/Getting Partition Metadata while Subscribing on
persistent://public/default/client-test-wrong-listener-1657444460 --
NotConnected
```
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]