[ https://issues.apache.org/jira/browse/ZOOKEEPER-380?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Mahadev konar updated ZOOKEEPER-380: ------------------------------------ Attachment: ZOOKEEPER-380.patch THis patch implements a streaming api extending OutputStream and InputStream on top of ledgerhandles. The way to use it is {code} LedgerHandle lh = BooKKeeper.createLedger() LedgerOutputStream los = new LedgerOutputStream(lh); los.write() ........... los.close() lh.close() {code} for using the inputstream is similar {code} LedgerHandle lh = BooKKepeer.openLedger() LedgerInputStream lis = new LedgerInputStream(lh); lis.read(byte[]); lis.close(); lh.close(); {code} This patch does not have tests. I will add tests with the next patch. comments? > 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, 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.