[ https://issues.apache.org/jira/browse/ZOOKEEPER-3964?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
ASF GitHub Bot updated ZOOKEEPER-3964: -------------------------------------- Labels: pull-request-available (was: ) > Introduce RocksDB snap and implement change data capture to enable > incremental snapshot > --------------------------------------------------------------------------------------- > > Key: ZOOKEEPER-3964 > URL: https://issues.apache.org/jira/browse/ZOOKEEPER-3964 > Project: ZooKeeper > Issue Type: Sub-task > Components: rocksdb, server > Reporter: Michael Han > Assignee: Michael Han > Priority: Major > Labels: pull-request-available > Time Spent: 0.5h > Remaining Estimate: 0h > > This is the first step of enabling on disk storage engine for ZooKeeper by > extending the existing Snap interface and implement a RocksDB backed > snapshot. Comparing to file based snapshot, RocksDB based snapshot is > superior for big in memory data tree as it supports incremental snapshot by > only serializing the changed data between snapshots. > High level overview: > * Extend Snap interface so every thing that's need serialize has a presence > on the interface. > * Implement RocksDB based snapshot, and bidirectional conversations between > File based snapshot and RocksDB snapshot, for back / forward compatibility. > * Change data capture is implemented by buffering transactions applied to > data tree, and applied to RocksDB when processing each transaction. An > incremental snapshot thus only requires RocksDB flush. ZK will always do a > full snapshot when first loading the data tree during the start process. > * By default, this feature is disabled. Users need opt in by explicitly > specify a Java system property to instantiate RocksDBSnap at runtime. > This work is based on top of the patch attached to ZOOKEEPER-3783 (kudos to > Fangmin and co at FB), with some bug / test fixes and adjustment so it can > cleanly apply to master branch. -- This message was sent by Atlassian Jira (v8.3.4#803005)