You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pulsar.apache.org by GitBox <gi...@apache.org> on 2019/07/02 07:19:35 UTC

[GitHub] [pulsar] easyfan opened a new pull request #4657: [#4569][pulsar-client] C++ client producer sendAsync() method will be blocked forever, if enough batched messages sent timeout. (#4569)

easyfan opened a new pull request #4657: [#4569][pulsar-client] C++ client producer sendAsync() method will be blocked forever, if enough batched messages sent timeout. (#4569)
URL: https://github.com/apache/pulsar/pull/4657
 
 
   
   Fixes #4569 
   
   ### Motivation
   
   
   *Root cause: a simple mistake in pulsar/pulsar-client-cpp/lib/ProducerImpl.cc:
   
   The reserved spots for all individual messages in a batch message (just reserved, not occupied by pushing in) did not be released in the case of batching message sent failure (sent timeout or any other failure cases), which was processed by `ProducerImpl::failPendingMessages(...)`*
   
   ### Modifications
   
   *When dealing any failure message, if the current message is a batch one, we should also release the reserved spots in the pendingMessageQueue_, for all individual messages inside this batch message.*
   
   ### Verifying this change
   
   - [x] Make sure that the change passes the CI checks.
   
   This change is already covered by existing tests, such as *pulsar/pulsar-client-cpp/tests/ProducerTest.cc*.
   
   
     - Dependencies (does it add or upgrade a dependency): (no)
     - The public API: (no)
     - The schema: (no)
     - The default values of configurations: (no)
     - The wire protocol: (no)
     - The rest endpoints: (no)
     - The admin cli options: (no)
     - Anything that affects deployment: no)
   
   ### Documentation
   
     - Does this pull request introduce a new feature? (no)
   

----------------------------------------------------------------
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:
users@infra.apache.org


With regards,
Apache Git Services