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]

Reply via email to