Xinyu, thanks a lot for the quick fix! I checked all the post 3.1.0 commits. All of them except for RATIS-2114 (zero copy bug fix) are bug fixes or minor improvements [1]. How about we include all of them? Please review.
[1] https://github.com/apache/ratis/compare/branch-3.1.0...branch-3.1.1_review Tsz-Wo ### Below are the cherry-pick commands, copy & paste and fix conflicts manually. git cherry-pick 95ea26c29e457ff0f8aee7ff7106536c42c4dc52 #RATIS-2095. Extract common logic of ratis-shell to RaftUtils for reuse (#1098) # skip git cherry-pick 34fa62ce7a59decf3fc8671f730f100e9bfe3ef6 #RATIS-2114. Corruption due to SegmentedRaftLogWorker queue LogEntry without reference counter (#1113) git cherry-pick 19ead3912fc4017362645cd64015f9ae0bd6ad6a #RATIS-2110. Publish SBOM artifacts (#1110) git cherry-pick ee9e14f54a5053e0ee48f22773f410931b0ee9df #RATIS-2117. No need for manual assembly:single execution (#1115) # skip git cherry-pick c31806dbdcf2f288c57684958447a6ddfe6fc29c #RATIS-2120. Bump version after 3.1.0 release (#1118) git cherry-pick 1cb6908a573a8948369c9eb0a52fa62c7ae63de3 #RATIS-2118. Improve assembly process (#1117) git cherry-pick eeaf6a463fa9bb59fbbf747c8bc042590c300f5d #RATIS-2121. Set javac --release when compiling with JDK 9+ (#1119) git cherry-pick 32745c3c4ecb9777a6d44e703134ef1181ad2dd2 #RATIS-2116. Fix the issue where RaftServerImpl.appendEntries may be blocked indefinitely (#1116) # fix conflict manually git cherry-pick d10167839cf04728b9fd0439add8db64eefe32a4 #RATIS-1840. Avoid including build timestamp in artifacts (#1114) git cherry-pick 9bb6953217186d68362ae68492d7080874431158 #RATIS-2125. javadoc jars should not include non-doc items (#1123) git cherry-pick 7825b4f032653efc0cf75ff7e650f8055707f9d1 #RATIS-1071. NettyClientRpc supports sendRequestAsync. Contributed by Rui Wang and Tsz-Wo Nicholas Sze. (#1122) git cherry-pick fb4968f1738172615d9c21f1673e49599dc13766 #RATIS-2131. Surround with [] only if hostName is a IPv6 string (#1125) git cherry-pick 011dc0addd55e755e3b59282891d2dc06d283c36 #RATIS-2126. Optimize NotLeaderException message (#1124) git cherry-pick 99925e3224341b95bd195d728a220d41ba3d924a #RATIS-2133. Ignore http proxy for ratis grpc client & server (#1128) git cherry-pick a793e6c45722e43f295519b56bf99ce876cdb251 #RATIS-2104. Double shutdown in TestLeaderInstallSnapshot. (#1108) git cherry-pick 4ba463789df7876837c728ce6477fd18b787fed9 #RATIS-2134. `logMetadata` could miss appending the `metadataEntry` with the lastCommitIndex (#1130) # fix conflict manually git cherry-pick ebeab934472c42da5344729f35a7758baa596a13 #RATIS-2136 Fixed the issue that RatisServer could not start after frequent restarts (#1131) git cherry-pick 177097cd31a103543680b0a063774d6f3ab86a0f #RATIS-2115. Fix flaky RetryCacheTests and InstallSnapshotFromLeaderTests. (#1129) git cherry-pick 69ec8f43621e30c7bddb032e8b2c18533a86053e #RATIS-2135. The leader keeps sending inconsistent entries repeatedly to followers. (#1132) git cherry-pick 217fdb082c18debf4b987b2f8536a3bf1d9e92bd #RATIS-2138 Remove uncessary error log in JVMPauseMonitor When GC is serious (#1133) git cherry-pick 8d4c4ae3082f24e22aab454ec144f384ec6e1b1a #RATIS-2139. Fix checkstyle:ParameterNumber in GrpcService. (#1134) # fix conflict manually git cherry-pick 287a4ac7c467c5a5132c0e85bc83923e27a0f064 #RATIS-2137. Fix LogAppenderDefault in handling of INCONSISTENCY. (#1136) # fix conflict manually git cherry-pick 24fb55363e94f171ab8e1d736bdaf3745f16719f #RATIS-2144. SegmentedRaftLogWorker should close the stream before releasing the buffer. (#1138) git cherry-pick 17a408f951c422294c220e565e46e7220c27377f #RATIS-2140. Thread wait when installing snapshot. (#1137) git cherry-pick c266cad48fd6e11d1cfba924b3451ada512a71c1 #RATIS-2113. Use consistent method names and parameter types in RaftUtils. (#1135) git revert 43a02109d1f0b34dd80b1e36f1d023f86f24e3ab # fix conflict manually ### END On Wed, Aug 21, 2024 at 7:25 PM Xinyu Tan <[email protected]> wrote: > Hi, Tsz-Wo > > I have submmited a PR for RATIS-2144 and it should be included! > > Best > ------------ > Xinyu Tan > > Tsz Wo Sze <[email protected]> 于2024年8月22日周四 08:26写道: > > > Duong, thanks a lot for starting the 3.1.1 discussion. > > > > Xinyu, agree, we should include RATIS-2138 and RATIS-2136 > > > > The following are the outstanding issues: > > 1. RATIS-2132: need a fix or revert RATIS-2099 > > 2. RATIS-2141: revert RATIS-1983 from 3.1.0 (the master branch is > > already fixed) > > 3. RATIS-2144: need a simple fix. > > > > I will go through the commits after. To see if there are other issues > > which should be included. > > > > Tsz-Wo > > > > > > > > On Tue, Aug 20, 2024 at 11:34 PM Xinyu Tan <[email protected]> wrote: > > > > > Hi, Duong > > > > > > We IoTDB team have fixed RATIS-2138 Remove uncessary error log in > > > JVMPauseMonitor When GC is serious and RATIS-2136 Fixed the issue that > > > RatisServer could not start after frequent restarts after Ratis 3.1.0. > > > > > > These two issues are straightforward to reproduce and easy to fix, and > > may > > > also be encountered in the Ozone. > > > > > > We hope these two issues will be included in 3.1.1 as well. > > > > > > Best > > > ------------------- > > > Xinyu Tan > > > Apache IoTDB PMC > > > > > > Duong Nguyen <[email protected]> 于2024年8月21日周三 09:14写道: > > > > > > > Hi Ratis community, > > > > > > > > I would like to start the discussion to release Ratis 3.1.1. While > > > working > > > > on adopting ratis 3.1.0 in Apache Ozone, we found a couple of > blocking > > > > issues with this release: > > > > 1. RATIS-2132 <https://issues.apache.org/jira/browse/RATIS-2132>: > > > > performance regression from RATIS-2099. > > > > 2. RATIS-2141 <https://issues.apache.org/jira/browse/RATIS-2141>: > > Memory > > > > leak for stateMachineCache use cases > > > > > > > > The second is a critical issue that prevents Ozone from being > released > > > with > > > > Ratis 3.1.0. I want to check if we can quickly roll out a Ratis 3.1.1 > > (on > > > > top of 3.1.0) with the fixes of the mentioned issues. > > > > > > > > Thanks, > > > > Duong > > > > > > > > > >
