wuYin opened a new pull request #394: URL: https://github.com/apache/pulsar-client-go/pull/394
### Motivation Support `sendTimeout` and `blockIfQueueFull` for producer. ### Modifications - Add 2 configurations into `ProducerOptions` - Add sendTimeout timer goroutine to check and fail time-out pending messages. - Check `BlockIfQueueFull` before acquiring publish semaphore while sending messages. - Add `TestSendTimeout` to verify sendTimeout effective whille backlog exceeded on topic. ### Others client-go and client-java have different ways to disable `sendTimeout` - client-java: set `sendTimeout` to 0 explicitly, to override default 30s configuration. - client-go: set `sendTimeout` to -1, to bypass unset detection. ### Documentation [configure-producer](https://pulsar.apache.org/docs/en/client-libraries-java/#configure-producer) ### Verifying this change - [ ] Make sure that the change passes the CI checks. ---------------------------------------------------------------- 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. For queries about this service, please contact Infrastructure at: [email protected]
