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 <[email protected]>
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