sijie commented on issue #774: Open should run recovery by default
URL: https://github.com/apache/bookkeeper/pull/774#issuecomment-347056937
 
 
   the summary of my opinion on this : 
   
   - from a storage system perspective, open should not have any implicit 
impacts on the current writer. if open wants to have a side effort (e.g. fence 
and recovery), it should be called out explicitly either by 
`withRecovery(true)` or `withOpenFlags(O_FENCE)`.
   - from user education/adoption awareness, a `multiple readers` semantic has 
more use cases that a `single reader` semantic. from this sense, we should 
encourage tailing and have recovery default to `false`.
   - the original api was designed for logging, `openLedgerNoRecovery` was 
added after `openLedger`. if we want to grow beyond logging into a storage 
system, we should have openLedger with no recovery as default. It is what most 
of the people would expect from a storage system.
   - regarding `safer` point, if a user already used bookkeeper and he/she knew 
bookkeeper, knew the difference between openLedger and openLedgerNoRecovery, 
when he migrates to the new API, they will find a way mapping openLedger and 
openLedgerNoRecovery into the new builder API. Javadoc, documentation, and 
release notes will provide the guide for existing users. It is not a problem 
for existing users. We should develop the storage mindshare for people who is 
new to bookkeeper, where *open ledger doesn't implicit close current writer* is 
making more sense as a storage.

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services

Reply via email to