Hi Tsz-Wo,

Thanks very much for the detailed change list! Let me update the website and 
send out announcements according to the change list.

William

> 2023年11月21日 02:46,Tsz Wo Sze <[email protected]> 写道:
> 
> (Resend the change list below.)
> 
> 
> Change list of ratis 3.0.0
> In total, there are roughly 100 commits diffing from 2.5.1
> 
> # Incompatible Changes
> 
> - RaftStorage Auto-Format
>  - RATIS-1677. Do not auto format RaftStorage in RECOVER. (#718)
>  - RATIS-1694. Fix the compatibility issue of RATIS-1677. (#731)
>  - RATIS-1871. Auto format RaftStorage when there is only one
> directory configured. (#903)
> 
> - Pluggable Ratis-Metrics (RATIS-1688)
>  - RATIS-1689. Remove the use of the thirdparty Gauge. (#728)
>  - RATIS-1692. Remove the use of the thirdparty Counter. (#732)
>  - RATIS-1693. Remove the use of the thirdparty Timer. (#734)
>  - RATIS-1703. Move MetricsReporting and JvmMetrics to impl. (#741)
>  - RATIS-1704. Fix SuppressWarnings("VisibilityModifier") in
> RatisMetrics. (#742)
>  - RATIS-1710. Refactor metrics api and implementation to separated
> modules. (#749)
>  - RATIS-1712. Add a dropwizard 3 implementation of ratis-metrics-api. (#751)
>  - RATIS-1391. Update library dropwizard.metrics version to 4.x (#632)
>  - RATIS-1601. Use the shaded dropwizard metrics and remove the
> dependency (#671)
> 
> - Streaming Protocol Change
>  - RATIS-1569. Move the asyncRpcApi.sendForward(..) call to the
> client side. (#635)
> 
> # New Features
> - Leader Lease (RATIS-1864)
>  - RATIS-1865. Add leader lease bound ratio configuration (#897)
>  - RATIS-1866. Maintain leader lease after AppendEntries (#898)
>  - RATIS-1894. Implement ReadOnly based on leader lease (#925)
> - RATIS-1882. Support read-after-write consistency (#913)
> - StateMachine API
>  - RATIS-1874. Add notifyLeaderReady function in IStateMachine (#906)
>  - RATIS-1897. Make TransactionContext available in DataApi.write(..). (#930)
> - New Configuration Properties
>  - RATIS-1862. Add the parameter whether to take Snapshot when
> stopping to adapt to different services (#896)
>  - RATIS-1930. Add a conf for enable/disable majority-add. (#961)
>  - RATIS-1918. Introduces parameters that separately control the
> shutdown of RaftServerProxy by JVMPauseMonitor. (#950)
> - RATIS-1636. Support re-config ratis properties (#800)
> - RATIS-1860. Add ratis-shell cmd to generate a new raft-meta.conf. (#901)
> 
> # Improvements & Bug Fixes
> 
> ## Streaming & Netty
> - RATIS-1550. Rewrite stream client reply queue. (#740)
> - RATIS-1847. Stream has memory leak. (#884)
> - RATIS-1850. When the stream server side receives a disconnection,
> memory is cleared (#887)
> - RATIS-1853. When the stream server channelInactive, all requests in
> the channel. (#889)
> - RATIS-1880. Optimize Stream client&server side channel pipeline Create 
> (#910)
> - RATIS-1898. Netty should use EpollEventLoopGroup by default (#931)
> - RATIS-1899. Use EpollEventLoopGroup for Netty Proxies (#932)
> - RATIS-1913. Assert that the primary peers in DataStreamClient and
> RoutingTable are equal (#945)
> - RATIS-1921. Shared worker group in WorkerGroupGetter should be closed. 
> (#955)
> - RATIS-1923. Netty: atomic operations require side-effect-free
> functions. (#956)
> 
> ## Read Index
> - RATIS-1856. Notify apply index change of all RaftLog entries (#893)
> - RATIS-1895. IllegalStateException: Failed to updateIncreasingly for
> nextIndex. (#926)
> - RATIS-1861. NullPointerException in readAsync when Ratis leader is
> changing (#895)
> - RATIS-1888. Handle exception of readIndexAsync in gRPC readIndex impl (#920)
> - RATIS-1927. Use double check to eliminate data race in ReadRequests. (#958)
> 
> ## RaftServer
> - RATIS-1924. Increase the default of raft.server.log.segment.size.max. (#957)
> - RATIS-1892. Unify the lifetime of the RaftServerProxy thread pool (#923)
> - RATIS-1889. NoSuchMethodError:
> RaftServerMetricsImpl.addNumPendingRequestsGauge #922 (#922)
> - RATIS-761. Handle writeStateMachineData failure in leader. (#927)
> - RATIS-1902. The snapshot index is set incorrectly in
> InstallSnapshotReplyProto. (#933)
> - RATIS-1912. Fix infinity election when perform membership change. (#954)
> - RATIS-1858. Follower keeps logging first election timeout. (#894)
> 
> ## AppendEntries & GrpcLogAppender
> - RATIS-1804. Change the default number of outstanding append entries. (#838)
> - RATIS-1883. Next Index should be always larger than Match Index in
> GrpcLogAppender (#914)
> - RATIS-1886. AppendLog sleep fixed time cause significant drop in
> write throughput. (#929)
> - RATIS-1909. Fix Decreasing Next Index When GrpcLogAppender Reset
> Client. (#939)
> - RATIS-1920. NPE in AppendLogResponseHandler. (#952)
> - RATIS-1928. Join the LogAppenders when closing the server. (#959)
> - RATIS-1705. Fix metrics leak (#744)
> 
> ## RaftLog & RaftLog Cache
> - RATIS-1887. Gap between segement log (#919)
> - RATIS-1890. SegmentedRaftLogCache#shouldEvict should only iterate
> over closed segments once (#921)
> - RATIS-1893. In SegmentedRaftLogCache, start a daemon thread to
> checkAndEvictCache. (#924)
> - RATIS-1884. Fix retry cache warning condition (#915)
> - RATIS-872. Invalidate replied calls in retry cache. (#942)
>  - RATIS-1916. OrderAsync does not call handReply. (#948)
> 
> ## Common Utilities
> - RATIS-1932. Create zero-copy Marshaller. (#962)
> - RATIS-1910. Deduplicate RaftGroupId and ClientId. (#940)
> - RATIS-1867. To uniformly manage the timeout parameters for detecting
> gc. (#899)
> 
> # Code Cleanup & Refactoring
> - RATIS-1870. Refactor hasMajority code during configuration changes. (#902)
> - RATIS-1848. Simplify PeerMap inheritance (#885)
> - RATIS-1849. Remove unused getRaftClient (#886)
> - RATIS-1854. Remove useless error logs when closing the ratisclient
> writing thread (#890)
> - RATIS-1904. Refactor RaftServerImpl.submitClientRequestAsync(..). (#935)
> 
> # Code Improvement
> - RATIS-1852. Fix trivial SonarLint complains (#888)
> - RATIS-1855. Fix some sonar code smell and bugs in ratis-server (#892)
> - RATIS-1903. Fix parameter number warning in RaftClientRequest. (#934)
> - RATIS-1905. Fix some sonar lint complains (#936)
> - RATIS-1915. Do not use FileInputStream/FileOutputStream in
> ratis-common. (#947)
> - RATIS-1917. Print Epoll.unavailabilityCause() only once. (#949)
> - RATIS-1919. Fix some sonar code smell and bugs in
> ratis-client/common/grpc (#951)
> 
> # Documentations & Examples
> - RATIS-1842. Fix typo of "configuraions.md" name in ratis-docs project (#880)
> - RATIS-1843. Add existing markdown documents to site.xml in the
> ratis-docs project (#881)
> - RATIS-1901. Update Counter example to benchmark performance. (#953)
> - RATIS-1908. Keep configurations doc updated (#938)
> - RATIS-1911. Add MembershipManager example. (#941)
> 
> # Tests
> - RATIS-1828. Enable TestServerRestartWithNetty (#869)
> - RATIS-1830. Intermittent failure in TestRetryPolicy (#871)
> - RATIS-1832. Intermittent failure in TestStreamObserverWithTimeout (#873)
> - RATIS-1833. Intermittent failure in
> TestRaftStateMachineExceptionWithSimulatedRpc (#874)
> - RATIS-1599. Fix test failure from RATIS-1569. (#659)
> 
> # Build & Maven
> - RATIS-1829. Support magic links to PR and JIRA in IDEA (#870)
> - RATIS-1878. checkstyle fails with UnsupportedClassVersionError. (#909)
> - RATIS-1906. Bump copyright year to 2023 (#937)
> - RATIS-1914. Bouncy Castle For Java LDAP injection vulnerability. (#944)
> - RATIS-1929. Bump ratis-thirdparty version to 1.0.5 (#960)

Reply via email to