merlimat commented on issue #6787: URL: https://github.com/apache/pulsar/pull/6787#issuecomment-618228354
> The behavior of a non-durable cursor reading a managed ledger should be close to the behavior of a file reader reading a file in the filesystem. If a reader is actively reading a file, the file is still accessible even it is deleted. If there is a reader active in the manager ledger, the data shouldn't be deleted if the reader hasn't read it. Otherwise, it is a violation of the correctness of a "distributed log". There is absolutely no violation of correctness. The contract is clear and it's that a reader can read all the data that is being retained based on max time and size. Above the data retention thresholds, there is no guarantee to be able to read the data. That is very important, because a reader should not under any condition to get the backlog quota filled up. In particular a reader should not have impact over a producer. If we allow a reader to stay connected and have the data retained, then when would that be the limit? and what would be the action after the limit? The current behavior is an accidental one, that in any case it's not something one can rely upon. (eg: a brief disconnection of the reader will cause the data to be deleted anyway). ---------------------------------------------------------------- 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]
