Hi dev,

Just went through the change list between 2.5.1 and 3.0.0 as follows. Please 
help me check the list to see if anything is missing out or mistakenly 
presented. I’ll use a summarized version of this for Announcements in user 
mailing list and the Ratis website:

Change list of ratis 3.0.0
In total, there are roughly 100 commits diffing from 2.5.1

# Incompatible Changes
[RATIS-1688] Make ratis-metrics Pluggable
[RATIS-1569] Move the asyncRpcApi.sendForward(..) call to the client side.

# New Features
[RATIS-1636] Support re-config ratis properties
[RATIS-1860] Add ratis-shell cmd to generate a new raft-meta.conf when moving 
peer to new location
[RATIS-1864] Support leader lease
[RATIS-1874] Support notifyLeaderReady hook in StateMachine
[RATIS-1862] Add parameter to control snapshot taking when stop
[RATIS-1882] Support read-after-write consistency
[RATIS-1897] Make TransactionContext available in DataApi.write
[RATIS-1930] Add a conf for enable/disable majority-add.

# Improvements and Bug Fixes

## Raft Log Cache
[RATIS-1890] SegmentedRaftLogCache#shouldEvict should only iterate over closed 
segments once
[RATIS-1893] Start a daemon to checkAndEvictCache

## JVMPause/GC detection
[RATIS-1867] Uniformly manage the timeout parameters for detecting gc
[RATIS-1877] In JvmPauseMonitor, sleepTime should not be larger than 
sleepDeviationThreshold
[RATIS-1918] Introduces parameters that separately control the shutdown of 
RaftServerProxy by JVMPauseMonitor

## AppendEntries
[RATIS-1804] Change default appending - outstanding max configuration
[RATIS-1836] Reduce retry frequency by leader on failure path for appendEntry
[RATIS-1883] NextIndex should be larger than MatchIndex
[RATIS-1876] NPE in GrpcLogAppender.resetClient
[RATIS-1886] AppendLog sleep fixed time cause significant drop in write 
throughput
[RATIS-1909] Fix Decreasing Next Index When GrpcLogAppender Reset Client
[RATIS-1919] NPE in AppendLogResponseHandler
[RATIS-1920] NPE in AppendLogResponseHandler
[RATIS-1928] Join the LogAppenders when closing the server

## Streaming
[RATIS-1847] Stream has memory leak
[RATIS-1850] When the stream server channelInactive, cleanup the request.
[RATIS-1853] When the stream server channelInactive, all requests in the 
channel.
[RATIS-1880] Optimize Stream client&server side channel pipeline Create 
[RATIS-1913] Assert that the primary peers in DataStreamClient and RoutingTable 
are equal

## Snapshoting 
[RATIS-1841], Fixed bug where cluster restart failed to transfer snapshot
[RATIS-1902] The snapshot index is set incorrectly in InstallSnapshotReplyProto

## Netty
[RATIS-1868] Handling Netty back pressure when streaming ratis log
[RATIS-1898] Netty to should use EpollEventLoopGroup by default
[RATIS-1899] Use EpollEventLoopGroup for Netty Proxies

## Read Index
RATIS-1856, RATIS-1861, RATIS-1872, RATIS-1888, RATIS-1927

## RaftStorage Auto Format
RATIS-1694, RATIS-1871

[RATIS-761] Handle writeStateMachineData failure in leader
[RATIS-872] Invalidate replied calls in retry cache
[RATIS-1858] Follower keeps logging first election timeout
[RATIS-1887] Gap between segement log
[RATIS-1873] IllegalStateException: retry cache entry should be pending
[RATIS-1884] Fix retry cache warning condition
[RATIS-1910] Deduplicate RaftGroupId and ClientId
[RATIS-1912] Fix infinity election when perform membership change.
[RATIS-1914] Bouncy Castle For Java LDAP injection vulnerability
[RATIS-1921] Shared worker group in WorkerGroupGetter should be closed
[RATIS-1923] Detect client retries from a long time ago

# Usability & Code Quality
[RATIS-1829] Support magic links to PR and JIRA in IDEA
[RATIS-1878] checkstyle fails with UnsupportedClassVersionError
[Documentations/Examples] RATIS-1842, RATIS-1843, RATIS-1911 , RATIS-1901, 
RATIS-1908
[Test Coverage] RATIS-1828, RATIS-1830, RATIS-1832, RATIS-1833
[Code Smells & Refactor] RATIS-1855, RATIS-1852, RATIS-1905, RATIS-1848, 
RATIS-1849, RATIS-1854, RATIS-1881, RATIS-1892, RATIS-1903, RATIS-1916, 
RATIS-1904, RATIS-1917, RATIS-1924


William

> 2023年11月10日 16:59,William Song <[email protected]> 写道:
> 
> Hi community,
> 
> I’m calling a vote For Apache Ratis Release 3.0.0 rc0.
> 
> The git tag to be vote upon:
> https://github.com/apache/ratis/tree/ratis-3.0.0-rc0 
> 
> The git commit hash:
> 238e2ec51cd780df6c214e3d0c20ce4de439fced
> 
> The source and binary tarballs can be found at:
> https://dist.apache.org/repos/dist/dev/ratis/3.0.0/rc0 
> 
> Fingerprint of the GPG key release artifacts are signed with:
> DCE2 C33D 41C6 2578 969D BAFE 37D6 ECF8 4E78 BC92
> 
> My public key to verify signatures can be found in:
> https://dist.apache.org/repos/dist/dev/ratis/KEYS 
> 
> Maven artifacts are staged at:
> https://repository.apache.org/content/repositories/orgapacheratis-1142 
> 
> This vote will remain open for at least 72 hours.
> Please vote on releasing this ratis-3.0.0-rc0. Thanks in advance.
> 
> [ ] +1 approve
> [ ] 0 no opinion
> [ ] -1 disapprove (and reason why)
> 
> Starting with my +1(binding)
> - Verified checksums, signatures and git hash.
> - Checked LICENSE and NOTICE.
> - Compared the files in src tarball with the files at the given git tag (all 
> matches excpet for ratis-experiments).
> - Built from source.
> - Ran regular Ratis CI. [1]
> - Ran ratis examples successfully.
> 
> [1] https://github.com/apache/ratis/actions/runs/6812884699

Reply via email to