This is an automated email from the ASF dual-hosted git repository. kezhuw pushed a commit to branch branch-3.9 in repository https://gitbox.apache.org/repos/asf/zookeeper.git
The following commit(s) were added to refs/heads/branch-3.9 by this push: new da1fc5156 ZOOKEEPER-4872: SnapshotCommand should not perform fastForwardFromEdits da1fc5156 is described below commit da1fc515611dfce7b846a4aef2b362f1b238a266 Author: li4wang <68786536+li4w...@users.noreply.github.com> AuthorDate: Tue Nov 26 17:13:02 2024 -0800 ZOOKEEPER-4872: SnapshotCommand should not perform fastForwardFromEdits Reviewers: kezhuw Author: li4wang Closes #2210 from li4wang/ZOOKEEPER-4872 (cherry picked from commit 3e02328048a9c753624d44aba51ac70cab60619a) --- .../main/java/org/apache/zookeeper/server/ZooKeeperServer.java | 9 ++------- .../main/java/org/apache/zookeeper/server/admin/Commands.java | 2 +- .../org/apache/zookeeper/server/ZookeeperServerRestoreTest.java | 2 +- .../org/apache/zookeeper/server/ZookeeperServerSnapshotTest.java | 2 +- .../org/apache/zookeeper/server/admin/RestoreQuorumTest.java | 2 +- 5 files changed, 6 insertions(+), 11 deletions(-) diff --git a/zookeeper-server/src/main/java/org/apache/zookeeper/server/ZooKeeperServer.java b/zookeeper-server/src/main/java/org/apache/zookeeper/server/ZooKeeperServer.java index 6740f6d52..8e291f869 100644 --- a/zookeeper-server/src/main/java/org/apache/zookeeper/server/ZooKeeperServer.java +++ b/zookeeper-server/src/main/java/org/apache/zookeeper/server/ZooKeeperServer.java @@ -554,7 +554,7 @@ public class ZooKeeperServer implements SessionExpirer, ServerStats.Provider { } public File takeSnapshot(boolean syncSnap) throws IOException { - return takeSnapshot(syncSnap, true, false); + return takeSnapshot(syncSnap, true); } /** @@ -562,18 +562,13 @@ public class ZooKeeperServer implements SessionExpirer, ServerStats.Provider { * * @param syncSnap syncSnap sync the snapshot immediately after write * @param isSevere if true system exist, otherwise throw IOException - * @param fastForwardFromEdits whether fast forward database to the latest recorded transactions - * * @return file snapshot file object * @throws IOException */ - public synchronized File takeSnapshot(boolean syncSnap, boolean isSevere, boolean fastForwardFromEdits) throws IOException { + public synchronized File takeSnapshot(boolean syncSnap, boolean isSevere) throws IOException { long start = Time.currentElapsedTime(); File snapFile = null; try { - if (fastForwardFromEdits) { - zkDb.fastForwardDataBase(); - } snapFile = txnLogFactory.save(zkDb.getDataTree(), zkDb.getSessionWithTimeOuts(), syncSnap); } catch (IOException e) { if (isSevere) { diff --git a/zookeeper-server/src/main/java/org/apache/zookeeper/server/admin/Commands.java b/zookeeper-server/src/main/java/org/apache/zookeeper/server/admin/Commands.java index 74dfdc3c1..cd5adc76a 100644 --- a/zookeeper-server/src/main/java/org/apache/zookeeper/server/admin/Commands.java +++ b/zookeeper-server/src/main/java/org/apache/zookeeper/server/admin/Commands.java @@ -783,7 +783,7 @@ public class Commands { // take snapshot and stream out data if needed try { - final File snapshotFile = zkServer.takeSnapshot(false, false, true); + final File snapshotFile = zkServer.takeSnapshot(false, false); final long lastZxid = Util.getZxidFromName(snapshotFile.getName(), SNAPSHOT_FILE_PREFIX); response.addHeader(RESPONSE_HEADER_LAST_ZXID, "0x" + ZxidUtils.zxidToString(lastZxid)); diff --git a/zookeeper-server/src/test/java/org/apache/zookeeper/server/ZookeeperServerRestoreTest.java b/zookeeper-server/src/test/java/org/apache/zookeeper/server/ZookeeperServerRestoreTest.java index 85f514dd7..ac7a008f1 100644 --- a/zookeeper-server/src/test/java/org/apache/zookeeper/server/ZookeeperServerRestoreTest.java +++ b/zookeeper-server/src/test/java/org/apache/zookeeper/server/ZookeeperServerRestoreTest.java @@ -74,7 +74,7 @@ public class ZookeeperServerRestoreTest extends ZKTestCase { } // take Snapshot - final File snapshotFile = zks.takeSnapshot(false, false, true); + final File snapshotFile = zks.takeSnapshot(false, false); final long lastZxidFromSnapshot = Util.getZxidFromName(snapshotFile.getName(), SNAPSHOT_FILE_PREFIX); // zk2 create more test data after snapshotting diff --git a/zookeeper-server/src/test/java/org/apache/zookeeper/server/ZookeeperServerSnapshotTest.java b/zookeeper-server/src/test/java/org/apache/zookeeper/server/ZookeeperServerSnapshotTest.java index c9d74a4cb..890cbd2be 100644 --- a/zookeeper-server/src/test/java/org/apache/zookeeper/server/ZookeeperServerSnapshotTest.java +++ b/zookeeper-server/src/test/java/org/apache/zookeeper/server/ZookeeperServerSnapshotTest.java @@ -62,7 +62,7 @@ public class ZookeeperServerSnapshotTest extends ZKTestCase { } // takeSnapshot - zks.takeSnapshot(false, false, true); + zks.takeSnapshot(false, false); // clean up zk.close(); diff --git a/zookeeper-server/src/test/java/org/apache/zookeeper/server/admin/RestoreQuorumTest.java b/zookeeper-server/src/test/java/org/apache/zookeeper/server/admin/RestoreQuorumTest.java index 38ca7f897..e5d43f7c6 100644 --- a/zookeeper-server/src/test/java/org/apache/zookeeper/server/admin/RestoreQuorumTest.java +++ b/zookeeper-server/src/test/java/org/apache/zookeeper/server/admin/RestoreQuorumTest.java @@ -85,7 +85,7 @@ public class RestoreQuorumTest extends QuorumPeerTestBase { // create more data after restore for (int i = NODE_COUNT * 2; i < NODE_COUNT * 3; i++) { - servers.zk[leaderId].create(PATH + "/" + i, new byte[0], ZooDefs.Ids.OPEN_ACL_UNSAFE, CreateMode.EPHEMERAL_SEQUENTIAL); + servers.zk[leaderId].create(PATH + "/" + i, new byte[0], ZooDefs.Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT); } // validate all servers have expected data