[ https://issues.apache.org/jira/browse/ZOOKEEPER-380?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Flavio Paiva Junqueira updated ZOOKEEPER-380: --------------------------------------------- Attachment: ZOOKEEPER-380.patch This looks great, Mahadev. I'm uploading a new version of the patch that makes two modifications to yous: 1- It includes the CloseTest of patch 387; 2- CloseTest does not work with your original patch due to a concurrency problem when closing ClientCBWorker from a LedgerHandle::close() call. I have fixed it by keeping a counter and maintaining an instance of ClientCBWorker as long as there is at least one ledger open and using it. I have also removed the QuorumEngine::stop variable. This variable was necessary with old code, but not necessary with this current version. > bookkeeper should have a streaming api so that its easier to store > checpoints/snapshots in bookkeeper. > ------------------------------------------------------------------------------------------------------ > > Key: ZOOKEEPER-380 > URL: https://issues.apache.org/jira/browse/ZOOKEEPER-380 > Project: Zookeeper > Issue Type: Improvement > Components: contrib-bookkeeper > Reporter: Mahadev konar > Attachments: ZOOKEEPER-380.patch, ZOOKEEPER-380.patch, > ZOOKEEPER-380.patch > > > currently, bookkeeper api allows just a bytes interface which is > ld.write(bytes). > We should have an interface like > Stream s = ledger.createStream() (I am not very sure of the interface right > now but will post a more concrete one after giving it a little more thought) > now this stream can be used to wirte checkpoints as > s.write(bytes) > and then closed to s.close() to close the snapshot. > This api could use the current api to implement snapshots as chunks of bytes > (buffered by stream s) that can be written via ld.write(bytes). -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.