dwang-qm opened a new pull request, #567:
URL: https://github.com/apache/pulsar-client-cpp/pull/567

   Fixes #566
   
   ### Motivation
   
   When a topic is terminated, producer operations should fail immediately with 
`ResultTopicTerminated`. Before this change, the C++ client could treat 
`ResultTopicTerminated` as retryable during producer creation and reconnection 
flows, which caused retries until the operation timed out instead of surfacing 
the terminal condition immediately.
   
   ### Modifications
   
   - Treat `ResultTopicTerminated` as a non-retryable producer error.
   - Return the terminal result during producer creation and 
disconnection/reconnection handling.
   - Reject later sends from a terminated producer with `ResultTopicTerminated`.
   
   ### Verifying this change
   
   - [x] Make sure that the change passes the CI checks.
   
   This change added tests and can be verified as follows:
   
   - Added `ProducerTest.testCreateProducerAfterTopicTermination`
   - Added `ProducerTest.testSendAfterTopicTerminationReconnect`
   - These tests are included in the standard CI `unit-tests` job.
   
   ### Documentation
   
   <!-- DO NOT REMOVE THIS SECTION. CHECK THE PROPER BOX ONLY. -->
   
   - [ ] `doc-required` 
   (Your PR needs to update docs and you will update later)
   
   - [X] `doc-not-needed` 
   This change only adjusts producer error handling for terminated topics and 
does not require user-facing documentation changes.
   
   - [ ] `doc` 
   (Your PR contains doc changes)
   
   - [ ] `doc-complete`
   (Docs have been already added)
   


-- 
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