Github user revans2 commented on a diff in the pull request:
https://github.com/apache/zookeeper/pull/453#discussion_r167885280
--- Diff: src/java/main/org/apache/zookeeper/server/ZKDatabase.java ---
@@ -233,14 +233,32 @@ public long getDataTreeLastProcessedZxid() {
* @throws IOException
*/
public long loadDataBase() throws IOException {
- PlayBackListener listener=new PlayBackListener(){
+ PlayBackListener listener = new PlayBackListener(){
public void onTxnLoaded(TxnHeader hdr,Record txn){
Request r = new Request(0, hdr.getCxid(),hdr.getType(),
hdr, txn, hdr.getZxid());
addCommittedProposal(r);
}
};
- long zxid =
snapLog.restore(dataTree,sessionsWithTimeouts,listener);
+ long zxid = snapLog.restore(dataTree, sessionsWithTimeouts,
listener);
+ initialized = true;
+ return zxid;
+ }
+
+ /**
+ * Fast forward the database adding transactions from the committed
log into memory.
+ * @return the last valid zxid.
+ * @throws IOException
+ */
+ public long fastForwardDataBase() throws IOException {
+ PlayBackListener listener = new PlayBackListener(){
--- End diff --
Will do
---