You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ratis.apache.org by wi...@apache.org on 2023/02/11 13:58:38 UTC

[ratis] branch snapshot-branch2 updated (d4dcf9572 -> 50299e199)

This is an automated email from the ASF dual-hosted git repository.

williamsong pushed a change to branch snapshot-branch2
in repository https://gitbox.apache.org/repos/asf/ratis.git


 discard d4dcf9572 Bump version for 2.4.2-snapshot release
 discard dcdafd520 RATIS-1763. Purging logs in an ordered manner. (#801)
 discard b5f5b0c24 RATIS-1765. [GrpcLogAppender] Calculate streaming md5 file-wise when installSnapshot
 discard 765cb40fe RATIS-1765. [GrpcLogAppender] Calculate streaming md5 file-wise when installSnapshot (#803)
 discard 7ab0c2ca1 RATIS-1767. Initialize MatchIndex to RaftLog.INVALID_LOG_INDEX. (#805)
     new 2d5f62b9b RATIS-1763. Purging logs in an ordered manner. (#801)
     new 09aa80c3d RATIS-1764. [GrpcLogAppender] create parent directory when installSnapshot
     new 7e12641c0 RATIS-1765. [GrpcLogAppender] Calculate streaming md5 file-wise when installSnapshot (#803)
     new ebba77d80 RATIS-1767. Initialize MatchIndex to RaftLog.INVALID_LOG_INDEX. (#805)
     new 50299e199 Bump ratis pom version for 2.4.2-snapshot release

This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version.  This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:

 * -- * -- B -- O -- O -- O   (d4dcf9572)
            \
             N -- N -- N   refs/heads/snapshot-branch2 (50299e199)

You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.

Any revisions marked "omit" are not gone; other references still
refer to them.  Any revisions marked "discard" are gone forever.

The 5 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 pom.xml                       | 2 +-
 ratis-assembly/pom.xml        | 2 +-
 ratis-client/pom.xml          | 2 +-
 ratis-common/pom.xml          | 2 +-
 ratis-docs/pom.xml            | 2 +-
 ratis-examples/pom.xml        | 2 +-
 ratis-experiments/pom.xml     | 2 +-
 ratis-grpc/pom.xml            | 2 +-
 ratis-metrics/pom.xml         | 2 +-
 ratis-netty/pom.xml           | 2 +-
 ratis-proto/pom.xml           | 2 +-
 ratis-replicated-map/pom.xml  | 2 +-
 ratis-resource-bundle/pom.xml | 2 +-
 ratis-server-api/pom.xml      | 2 +-
 ratis-server/pom.xml          | 2 +-
 ratis-shell/pom.xml           | 2 +-
 ratis-test/pom.xml            | 2 +-
 ratis-tools/pom.xml           | 2 +-
 18 files changed, 18 insertions(+), 18 deletions(-)


[ratis] 03/05: RATIS-1765. [GrpcLogAppender] Calculate streaming md5 file-wise when installSnapshot (#803)

Posted by wi...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

williamsong pushed a commit to branch snapshot-branch2
in repository https://gitbox.apache.org/repos/asf/ratis.git

commit 7e12641c00bc0ffe6338311d79785637a07097a8
Author: William Song <48...@users.noreply.github.com>
AuthorDate: Fri Jan 6 21:29:46 2023 +0800

    RATIS-1765. [GrpcLogAppender] Calculate streaming md5 file-wise when installSnapshot (#803)
---
 .../org/apache/ratis/server/storage/FileChunkReader.java    | 13 ++++++++++---
 .../org/apache/ratis/InstallSnapshotFromLeaderTests.java    | 13 ++++++++++++-
 2 files changed, 22 insertions(+), 4 deletions(-)

diff --git a/ratis-server/src/main/java/org/apache/ratis/server/storage/FileChunkReader.java b/ratis-server/src/main/java/org/apache/ratis/server/storage/FileChunkReader.java
index a5ee66258..47d70a771 100644
--- a/ratis-server/src/main/java/org/apache/ratis/server/storage/FileChunkReader.java
+++ b/ratis-server/src/main/java/org/apache/ratis/server/storage/FileChunkReader.java
@@ -73,14 +73,21 @@ public class FileChunkReader implements Closeable {
     final long remaining = info.getFileSize() - offset;
     final int chunkLength = remaining < chunkMaxSize ? (int) remaining : chunkMaxSize;
     final ByteString data = ByteString.readFrom(in, chunkLength);
-    final ByteString fileDigest = ByteString.copyFrom(
-            digester != null? digester.digest(): info.getFileDigest().getDigest());
+    // whether this chunk is the last chunk of current file
+    final boolean isDone = offset + chunkLength == info.getFileSize();
+    final ByteString fileDigest;
+    if (digester != null) {
+      // file digest is calculated once in the end and shipped with last FileChunkProto
+      fileDigest = isDone ? ByteString.copyFrom(digester.digest()) : ByteString.EMPTY;
+    } else {
+      fileDigest = ByteString.copyFrom(info.getFileDigest().getDigest());
+    }
 
     final FileChunkProto proto = FileChunkProto.newBuilder()
         .setFilename(relativePath.toString())
         .setOffset(offset)
         .setChunkIndex(chunkIndex)
-        .setDone(offset + chunkLength == info.getFileSize())
+        .setDone(isDone)
         .setData(data)
         .setFileDigest(fileDigest)
         .build();
diff --git a/ratis-server/src/test/java/org/apache/ratis/InstallSnapshotFromLeaderTests.java b/ratis-server/src/test/java/org/apache/ratis/InstallSnapshotFromLeaderTests.java
index c8e04bb00..3d4b49b81 100644
--- a/ratis-server/src/test/java/org/apache/ratis/InstallSnapshotFromLeaderTests.java
+++ b/ratis-server/src/test/java/org/apache/ratis/InstallSnapshotFromLeaderTests.java
@@ -37,12 +37,14 @@ import org.apache.ratis.statemachine.impl.FileListSnapshotInfo;
 import org.apache.ratis.statemachine.impl.SimpleStateMachineStorage;
 import org.apache.ratis.util.FileUtils;
 import org.apache.ratis.util.LifeCycle;
+import org.apache.ratis.util.SizeInBytes;
 import org.junit.Assert;
 import org.junit.Test;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import java.io.File;
+import java.io.FileOutputStream;
 import java.io.IOException;
 import java.nio.file.DirectoryStream;
 import java.nio.file.Files;
@@ -64,6 +66,7 @@ public abstract class InstallSnapshotFromLeaderTests<CLUSTER extends MiniRaftClu
     RaftServerConfigKeys.Snapshot.setAutoTriggerThreshold(
         prop, SNAPSHOT_TRIGGER_THRESHOLD);
     RaftServerConfigKeys.Snapshot.setAutoTriggerEnabled(prop, true);
+    RaftServerConfigKeys.Log.Appender.setSnapshotChunkSizeMax(prop, SizeInBytes.ONE_KB);
   }
 
   private static final int SNAPSHOT_TRIGGER_THRESHOLD = 64;
@@ -114,7 +117,9 @@ public abstract class InstallSnapshotFromLeaderTests<CLUSTER extends MiniRaftClu
       // Check the installed snapshot file number on each Follower matches with the
       // leader snapshot.
       for (RaftServer.Division follower : cluster.getFollowers()) {
-        Assert.assertEquals(3, follower.getStateMachine().getLatestSnapshot().getFiles().size());
+        final SnapshotInfo info = follower.getStateMachine().getLatestSnapshot();
+        Assert.assertNotNull(info);
+        Assert.assertEquals(3, info.getFiles().size());
       }
     } finally {
       cluster.shutdown();
@@ -163,6 +168,12 @@ public abstract class InstallSnapshotFromLeaderTests<CLUSTER extends MiniRaftClu
           FileUtils.createDirectories(file2.getParentFile());
           FileUtils.createNewFile(file1.toPath());
           FileUtils.createNewFile(file2.toPath());
+          // write 4MB data to simulate multiple chunk scene
+          final byte[] data = new byte[4096];
+          Arrays.fill(data, (byte)0x01);
+          try (FileOutputStream fout = new FileOutputStream(file2)) {
+              fout.write(data);
+          }
         }
 
       } catch (IOException ioException) {


[ratis] 02/05: RATIS-1764. [GrpcLogAppender] create parent directory when installSnapshot

Posted by wi...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

williamsong pushed a commit to branch snapshot-branch2
in repository https://gitbox.apache.org/repos/asf/ratis.git

commit 09aa80c3d57eaeb842e112debfa96e1aa7d4c7d1
Author: William Song <48...@users.noreply.github.com>
AuthorDate: Thu Jan 5 13:45:42 2023 +0800

    RATIS-1764. [GrpcLogAppender] create parent directory when installSnapshot
---
 .../src/main/java/org/apache/ratis/util/FileUtils.java    | 15 +++++++++++++++
 .../java/org/apache/ratis/server/impl/ServerState.java    |  2 +-
 .../org/apache/ratis/server/storage/SnapshotManager.java  |  8 +++-----
 3 files changed, 19 insertions(+), 6 deletions(-)

diff --git a/ratis-common/src/main/java/org/apache/ratis/util/FileUtils.java b/ratis-common/src/main/java/org/apache/ratis/util/FileUtils.java
index 40a51e9f9..e50edaf6d 100644
--- a/ratis-common/src/main/java/org/apache/ratis/util/FileUtils.java
+++ b/ratis-common/src/main/java/org/apache/ratis/util/FileUtils.java
@@ -71,6 +71,21 @@ public interface FileUtils {
         () -> "Files.createDirectories " + dir);
   }
 
+  static void createDirectoriesDeleteExistingNonDirectory(File dir) throws IOException {
+    createDirectoriesDeleteExistingNonDirectory(dir.toPath());
+  }
+
+  static void createDirectoriesDeleteExistingNonDirectory(Path dir) throws IOException {
+    try {
+      createDirectories(dir);
+    } catch (FileAlreadyExistsException e) {
+      LOG.warn("Failed to create directory " + dir
+          + " since it already exists as a non-directory.  Trying to delete it ...", e);
+      delete(dir);
+      createDirectories(dir);
+    }
+  }
+
   static void move(File src, File dst) throws IOException {
     move(src.toPath(), dst.toPath());
   }
diff --git a/ratis-server/src/main/java/org/apache/ratis/server/impl/ServerState.java b/ratis-server/src/main/java/org/apache/ratis/server/impl/ServerState.java
index b1422db4f..820f2a9f0 100644
--- a/ratis-server/src/main/java/org/apache/ratis/server/impl/ServerState.java
+++ b/ratis-server/src/main/java/org/apache/ratis/server/impl/ServerState.java
@@ -478,7 +478,7 @@ class ServerState implements Closeable {
     // TODO: verify that we need to install the snapshot
     StateMachine sm = server.getStateMachine();
     sm.pause(); // pause the SM to prepare for install snapshot
-    snapshotManager.installSnapshot(sm, request);
+    snapshotManager.installSnapshot(request, sm);
     updateInstalledSnapshotIndex(TermIndex.valueOf(request.getSnapshotChunk().getTermIndex()));
   }
 
diff --git a/ratis-server/src/main/java/org/apache/ratis/server/storage/SnapshotManager.java b/ratis-server/src/main/java/org/apache/ratis/server/storage/SnapshotManager.java
index 294f0a205..2ce8f9143 100644
--- a/ratis-server/src/main/java/org/apache/ratis/server/storage/SnapshotManager.java
+++ b/ratis-server/src/main/java/org/apache/ratis/server/storage/SnapshotManager.java
@@ -77,10 +77,8 @@ public class SnapshotManager {
         c -> smDir.relativize(new File(dir.getRoot(), c.getFilename()).toPath()).toString();
   }
 
-  public void installSnapshot(StateMachine stateMachine,
-      InstallSnapshotRequestProto request) throws IOException {
-    final InstallSnapshotRequestProto.SnapshotChunkProto snapshotChunkRequest =
-        request.getSnapshotChunk();
+  public void installSnapshot(InstallSnapshotRequestProto request, StateMachine stateMachine) throws IOException {
+    final InstallSnapshotRequestProto.SnapshotChunkProto snapshotChunkRequest = request.getSnapshotChunk();
     final long lastIncludedIndex = snapshotChunkRequest.getTermIndex().getIndex();
 
     // create a unique temporary directory
@@ -103,7 +101,7 @@ public class SnapshotManager {
       }
 
       final File tmpSnapshotFile = new File(tmpDir, getRelativePath.apply(chunk));
-      FileUtils.createDirectories(tmpSnapshotFile);
+      FileUtils.createDirectoriesDeleteExistingNonDirectory(tmpSnapshotFile.getParentFile());
 
       FileOutputStream out = null;
       try {


[ratis] 04/05: RATIS-1767. Initialize MatchIndex to RaftLog.INVALID_LOG_INDEX. (#805)

Posted by wi...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

williamsong pushed a commit to branch snapshot-branch2
in repository https://gitbox.apache.org/repos/asf/ratis.git

commit ebba77d8057e64492dfb318b170706f4a765462d
Author: William Song <48...@users.noreply.github.com>
AuthorDate: Tue Jan 10 14:45:05 2023 +0800

    RATIS-1767. Initialize MatchIndex to RaftLog.INVALID_LOG_INDEX. (#805)
---
 .../src/main/java/org/apache/ratis/server/impl/FollowerInfoImpl.java    | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/ratis-server/src/main/java/org/apache/ratis/server/impl/FollowerInfoImpl.java b/ratis-server/src/main/java/org/apache/ratis/server/impl/FollowerInfoImpl.java
index 81dbe29c6..0d7fe2075 100644
--- a/ratis-server/src/main/java/org/apache/ratis/server/impl/FollowerInfoImpl.java
+++ b/ratis-server/src/main/java/org/apache/ratis/server/impl/FollowerInfoImpl.java
@@ -37,7 +37,7 @@ class FollowerInfoImpl implements FollowerInfo {
   private final AtomicReference<Timestamp> lastRpcSendTime;
   private final AtomicReference<Timestamp> lastHeartbeatSendTime;
   private final RaftLogIndex nextIndex;
-  private final RaftLogIndex matchIndex = new RaftLogIndex("matchIndex", 0L);
+  private final RaftLogIndex matchIndex = new RaftLogIndex("matchIndex", RaftLog.INVALID_LOG_INDEX);
   private final RaftLogIndex commitIndex = new RaftLogIndex("commitIndex", RaftLog.INVALID_LOG_INDEX);
   private final RaftLogIndex snapshotIndex = new RaftLogIndex("snapshotIndex", 0L);
   private volatile boolean attendVote;


[ratis] 01/05: RATIS-1763. Purging logs in an ordered manner. (#801)

Posted by wi...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

williamsong pushed a commit to branch snapshot-branch2
in repository https://gitbox.apache.org/repos/asf/ratis.git

commit 2d5f62b9b34a614e8273c727b04483ce83c22b38
Author: William Song <48...@users.noreply.github.com>
AuthorDate: Tue Jan 3 13:54:18 2023 +0800

    RATIS-1763. Purging logs in an ordered manner. (#801)
---
 .../apache/ratis/server/raftlog/segmented/SegmentedRaftLogCache.java  | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/ratis-server/src/main/java/org/apache/ratis/server/raftlog/segmented/SegmentedRaftLogCache.java b/ratis-server/src/main/java/org/apache/ratis/server/raftlog/segmented/SegmentedRaftLogCache.java
index c9ca6e440..b6f932d6a 100644
--- a/ratis-server/src/main/java/org/apache/ratis/server/raftlog/segmented/SegmentedRaftLogCache.java
+++ b/ratis-server/src/main/java/org/apache/ratis/server/raftlog/segmented/SegmentedRaftLogCache.java
@@ -318,8 +318,8 @@ public class SegmentedRaftLogCache {
           // to purge that.
           int startIndex = (overlappedSegment.getEndIndex() == index) ?
               segmentIndex : segmentIndex - 1;
-          for (int i = startIndex; i >= 0; i--) {
-            LogSegment segment = segments.remove(i);
+          for (int i = 0; i <= startIndex; i++) {
+            LogSegment segment = segments.remove(0); // must remove the first segment to avoid gaps.
             sizeInBytes -= segment.getTotalFileSize();
             list.add(SegmentFileInfo.newClosedSegmentFileInfo(segment));
           }


[ratis] 05/05: Bump ratis pom version for 2.4.2-snapshot release

Posted by wi...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

williamsong pushed a commit to branch snapshot-branch2
in repository https://gitbox.apache.org/repos/asf/ratis.git

commit 50299e19945f060d867575a34ea9c1d7fa07458a
Author: szywilliam <sz...@163.com>
AuthorDate: Sat Feb 11 21:58:15 2023 +0800

    Bump ratis pom version for 2.4.2-snapshot release
---
 pom.xml                       | 2 +-
 ratis-assembly/pom.xml        | 2 +-
 ratis-client/pom.xml          | 2 +-
 ratis-common/pom.xml          | 2 +-
 ratis-docs/pom.xml            | 2 +-
 ratis-examples/pom.xml        | 2 +-
 ratis-experiments/pom.xml     | 2 +-
 ratis-grpc/pom.xml            | 2 +-
 ratis-metrics/pom.xml         | 2 +-
 ratis-netty/pom.xml           | 2 +-
 ratis-proto/pom.xml           | 2 +-
 ratis-replicated-map/pom.xml  | 2 +-
 ratis-resource-bundle/pom.xml | 2 +-
 ratis-server-api/pom.xml      | 2 +-
 ratis-server/pom.xml          | 2 +-
 ratis-shell/pom.xml           | 2 +-
 ratis-test/pom.xml            | 2 +-
 ratis-tools/pom.xml           | 2 +-
 18 files changed, 18 insertions(+), 18 deletions(-)

diff --git a/pom.xml b/pom.xml
index a63135097..1b3d27442 100644
--- a/pom.xml
+++ b/pom.xml
@@ -24,7 +24,7 @@
 
   <artifactId>ratis</artifactId>
   <groupId>org.apache.ratis</groupId>
-  <version>2.4.2-SNAPSHOT</version>
+  <version>2.4.2-ebba77d-SNAPSHOT</version>
   <name>Apache Ratis</name>
   <packaging>pom</packaging>
   <description>
diff --git a/ratis-assembly/pom.xml b/ratis-assembly/pom.xml
index 19eee578b..daf3af0cc 100644
--- a/ratis-assembly/pom.xml
+++ b/ratis-assembly/pom.xml
@@ -17,7 +17,7 @@
   <parent>
     <artifactId>ratis</artifactId>
     <groupId>org.apache.ratis</groupId>
-    <version>2.4.2-SNAPSHOT</version>
+    <version>2.4.2-ebba77d-SNAPSHOT</version>
   </parent>
 
   <artifactId>ratis-assembly</artifactId>
diff --git a/ratis-client/pom.xml b/ratis-client/pom.xml
index d307a1561..e776e45d9 100644
--- a/ratis-client/pom.xml
+++ b/ratis-client/pom.xml
@@ -17,7 +17,7 @@
   <parent>
     <artifactId>ratis</artifactId>
     <groupId>org.apache.ratis</groupId>
-    <version>2.4.2-SNAPSHOT</version>
+    <version>2.4.2-ebba77d-SNAPSHOT</version>
   </parent>
 
   <artifactId>ratis-client</artifactId>
diff --git a/ratis-common/pom.xml b/ratis-common/pom.xml
index 3f2f7ddba..4cdaf3f76 100644
--- a/ratis-common/pom.xml
+++ b/ratis-common/pom.xml
@@ -17,7 +17,7 @@
   <parent>
     <artifactId>ratis</artifactId>
     <groupId>org.apache.ratis</groupId>
-    <version>2.4.2-SNAPSHOT</version>
+    <version>2.4.2-ebba77d-SNAPSHOT</version>
   </parent>
 
   <artifactId>ratis-common</artifactId>
diff --git a/ratis-docs/pom.xml b/ratis-docs/pom.xml
index 380fa9ac4..997738ed8 100644
--- a/ratis-docs/pom.xml
+++ b/ratis-docs/pom.xml
@@ -20,7 +20,7 @@ https://maven.apache.org/xsd/maven-4.0.0.xsd">
   <parent>
     <artifactId>ratis</artifactId>
     <groupId>org.apache.ratis</groupId>
-    <version>2.4.2-SNAPSHOT</version>
+    <version>2.4.2-ebba77d-SNAPSHOT</version>
   </parent>
 
   <artifactId>ratis-docs</artifactId>
diff --git a/ratis-examples/pom.xml b/ratis-examples/pom.xml
index 33f4b4ae8..20b19285c 100644
--- a/ratis-examples/pom.xml
+++ b/ratis-examples/pom.xml
@@ -17,7 +17,7 @@
   <parent>
     <artifactId>ratis</artifactId>
     <groupId>org.apache.ratis</groupId>
-    <version>2.4.2-SNAPSHOT</version>
+    <version>2.4.2-ebba77d-SNAPSHOT</version>
   </parent>
 
   <artifactId>ratis-examples</artifactId>
diff --git a/ratis-experiments/pom.xml b/ratis-experiments/pom.xml
index c768243c7..9c6f12c49 100644
--- a/ratis-experiments/pom.xml
+++ b/ratis-experiments/pom.xml
@@ -17,7 +17,7 @@
   <parent>
     <artifactId>ratis</artifactId>
     <groupId>org.apache.ratis</groupId>
-    <version>2.4.2-SNAPSHOT</version>
+    <version>2.4.2-ebba77d-SNAPSHOT</version>
   </parent>
 
   <artifactId>ratis-experiments</artifactId>
diff --git a/ratis-grpc/pom.xml b/ratis-grpc/pom.xml
index 9b37a73bd..b1c7c11c5 100644
--- a/ratis-grpc/pom.xml
+++ b/ratis-grpc/pom.xml
@@ -17,7 +17,7 @@
   <parent>
     <artifactId>ratis</artifactId>
     <groupId>org.apache.ratis</groupId>
-    <version>2.4.2-SNAPSHOT</version>
+    <version>2.4.2-ebba77d-SNAPSHOT</version>
   </parent>
 
   <artifactId>ratis-grpc</artifactId>
diff --git a/ratis-metrics/pom.xml b/ratis-metrics/pom.xml
index 7098409b7..819eb9c35 100644
--- a/ratis-metrics/pom.xml
+++ b/ratis-metrics/pom.xml
@@ -18,7 +18,7 @@
   <parent>
     <artifactId>ratis</artifactId>
     <groupId>org.apache.ratis</groupId>
-    <version>2.4.2-SNAPSHOT</version>
+    <version>2.4.2-ebba77d-SNAPSHOT</version>
   </parent>
 
   <artifactId>ratis-metrics</artifactId>
diff --git a/ratis-netty/pom.xml b/ratis-netty/pom.xml
index af5175694..a0d25376a 100644
--- a/ratis-netty/pom.xml
+++ b/ratis-netty/pom.xml
@@ -17,7 +17,7 @@
   <parent>
     <artifactId>ratis</artifactId>
     <groupId>org.apache.ratis</groupId>
-    <version>2.4.2-SNAPSHOT</version>
+    <version>2.4.2-ebba77d-SNAPSHOT</version>
   </parent>
 
   <artifactId>ratis-netty</artifactId>
diff --git a/ratis-proto/pom.xml b/ratis-proto/pom.xml
index 194c98000..a68d54c3f 100644
--- a/ratis-proto/pom.xml
+++ b/ratis-proto/pom.xml
@@ -17,7 +17,7 @@
   <parent>
     <artifactId>ratis</artifactId>
     <groupId>org.apache.ratis</groupId>
-    <version>2.4.2-SNAPSHOT</version>
+    <version>2.4.2-ebba77d-SNAPSHOT</version>
   </parent>
 
   <artifactId>ratis-proto</artifactId>
diff --git a/ratis-replicated-map/pom.xml b/ratis-replicated-map/pom.xml
index 8183cf7d1..b63c387f9 100644
--- a/ratis-replicated-map/pom.xml
+++ b/ratis-replicated-map/pom.xml
@@ -17,7 +17,7 @@
   <parent>
     <artifactId>ratis</artifactId>
     <groupId>org.apache.ratis</groupId>
-    <version>2.4.2-SNAPSHOT</version>
+    <version>2.4.2-ebba77d-SNAPSHOT</version>
   </parent>
 
   <artifactId>ratis-replicated-map</artifactId>
diff --git a/ratis-resource-bundle/pom.xml b/ratis-resource-bundle/pom.xml
index 4e5b15e95..58333df60 100644
--- a/ratis-resource-bundle/pom.xml
+++ b/ratis-resource-bundle/pom.xml
@@ -23,7 +23,7 @@
   <parent>
     <artifactId>ratis</artifactId>
     <groupId>org.apache.ratis</groupId>
-    <version>2.4.2-SNAPSHOT</version>
+    <version>2.4.2-ebba77d-SNAPSHOT</version>
     <relativePath>..</relativePath>
   </parent>
 
diff --git a/ratis-server-api/pom.xml b/ratis-server-api/pom.xml
index 36a5f6b37..6b8a22306 100644
--- a/ratis-server-api/pom.xml
+++ b/ratis-server-api/pom.xml
@@ -17,7 +17,7 @@
   <parent>
     <artifactId>ratis</artifactId>
     <groupId>org.apache.ratis</groupId>
-    <version>2.4.2-SNAPSHOT</version>
+    <version>2.4.2-ebba77d-SNAPSHOT</version>
   </parent>
 
   <artifactId>ratis-server-api</artifactId>
diff --git a/ratis-server/pom.xml b/ratis-server/pom.xml
index 3fcaa39ef..c577a62eb 100644
--- a/ratis-server/pom.xml
+++ b/ratis-server/pom.xml
@@ -17,7 +17,7 @@
   <parent>
     <artifactId>ratis</artifactId>
     <groupId>org.apache.ratis</groupId>
-    <version>2.4.2-SNAPSHOT</version>
+    <version>2.4.2-ebba77d-SNAPSHOT</version>
   </parent>
 
   <artifactId>ratis-server</artifactId>
diff --git a/ratis-shell/pom.xml b/ratis-shell/pom.xml
index 32961b958..765522231 100644
--- a/ratis-shell/pom.xml
+++ b/ratis-shell/pom.xml
@@ -17,7 +17,7 @@
   <parent>
     <artifactId>ratis</artifactId>
     <groupId>org.apache.ratis</groupId>
-    <version>2.4.2-SNAPSHOT</version>
+    <version>2.4.2-ebba77d-SNAPSHOT</version>
   </parent>
 
   <artifactId>ratis-shell</artifactId>
diff --git a/ratis-test/pom.xml b/ratis-test/pom.xml
index 6f438917c..d45957199 100644
--- a/ratis-test/pom.xml
+++ b/ratis-test/pom.xml
@@ -17,7 +17,7 @@
   <parent>
     <artifactId>ratis</artifactId>
     <groupId>org.apache.ratis</groupId>
-    <version>2.4.2-SNAPSHOT</version>
+    <version>2.4.2-ebba77d-SNAPSHOT</version>
   </parent>
 
   <artifactId>ratis-test</artifactId>
diff --git a/ratis-tools/pom.xml b/ratis-tools/pom.xml
index 3414461e5..4775488df 100644
--- a/ratis-tools/pom.xml
+++ b/ratis-tools/pom.xml
@@ -17,7 +17,7 @@
   <parent>
     <artifactId>ratis</artifactId>
     <groupId>org.apache.ratis</groupId>
-    <version>2.4.2-SNAPSHOT</version>
+    <version>2.4.2-ebba77d-SNAPSHOT</version>
   </parent>
 
   <artifactId>ratis-tools</artifactId>