You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@zookeeper.apache.org by "Mahadev konar (JIRA)" <ji...@apache.org> on 2009/05/01 06:43:30 UTC
[jira] Updated: (ZOOKEEPER-380) bookkeeper should have a streaming
api so that its easier to store checpoints/snapshots in bookkeeper.
[ 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.