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/11/14 11:40:52 UTC

[GitHub] [pulsar] candlerb commented on issue #5664: Python API: flush not blocking, send_async leaks memory

candlerb commented on issue #5664: Python API: flush not blocking, send_async leaks memory
URL: https://github.com/apache/pulsar/issues/5664#issuecomment-553850869
 
 
   I wonder if flush() is intended to do with [batching](https://pulsar.apache.org/docs/en/concepts-messaging/#batching).
   
   Suppose you enable batching, then:
   
   1. `send_async()` 50 messages
   2. do other stuff
   3. `flush()`
   
   At the point you do call flush, the batch may or may not have already reached its maximum latency and been sent.  If any messages are still in RAM, presumably flush will send them.  But either way, if flush waits for anything, surely it must wait for *all* messages to be persisted - even if the batch was empty.  If it did nothing when the batch was empty, there would be a race.

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