Hi dev, Just have checked the JIRAs including - Xinyu's list, - Yaolong's list (linearizable read), - other bug fixes and improvements.
There are 51 new commits compared to branch-2. See https://github.com/apache/ratis/tree/branch-2_readIndex and the diff https://github.com/apache/ratis/compare/branch-2...branch-2_readIndex Please check. Thanks. Tsz-Wo ------ 51 commits new f54754a04 RATIS-1643. Add heartbeat broadcast mechanism for leader readIndex. (#730) new 9270bb3ce RATIS-1697. StateMachineUpdater.getStateMachineLastAppliedIndex should handle null. (#736) new b6468dbff RATIS-1696. Support linearizable read-only requests in leader (#735) new 22c6a036a RATIS-1701. Add new Server RPC: readIndex (#738) new 3fcf38812 RATIS-1706. Move heartbeat listeners to LeaderState (#743) new 1375bdb9b RATIS-1715. Support linearizable read in AsyncApi. (#754) new 242df11b0 RATIS-1716. Separate ReadException and ReadIndexException for client retry (#758) new bbadb4144 RATIS-1652. Fix NP_NULL_PARAM_DEREF in DataStreamManagement (#763) new bd8a12cf4 RATIS-1722. Fix the suppressed findbugs warnings in SimpleStateMachineStorage. (#760) new fd7a6f373 RATIS-1723. CounterStateMachine should update the latest snapshot. (#765) new c8f8145e1 RATIS-1728. Avoid org.apache.log4j imports. (#768) new cc807fda9 RATIS-1733. Typo: fix misleading params names in `RaftServerConfigKeys` (#771) new da23510d8 RATIS-1732. Add configuration reference for RaftServer (#770) new 43d8f220f RATIS-1742. Remove slf4j-log4j12 test dependency from ratis-common and ratis-server. (#781) new 59eae1106 RATIS-1752. Clean md5 file created by old ratis version. (#790) new 99640255b RATIS-1750. Add snapshot section in dev guide (#788) new 615a03853 RATIS-1744. NullPointerException causes RaftClient retry failure. (#794) new f58e2a5c5 RATIS-1751. Race condition between LeaderStateImpl & ServerState. (#789) new e489fd67c RATIS-1757: Missing some metrics for listener. (#796) new 053a815d9 RATIS-1758. Add linearizable read in Counter example (#797) new 5fa608d4b RATIS-1759. Support client use linearizable read per request (#798) new 9628ae999 RATIS-1761. If LeaderStateImpl is not running, it should not restart a LogAppender. (#799) new 25552d6cd RATIS-1763. Purging logs in an ordered manner. (#801) new d11663562 RATIS-1764. installSnapshot failed due to file already exists (#802) new 743f86a05 RATIS-1765. [GrpcLogAppender] Calculate streaming md5 file-wise when installSnapshot (#803) new 32a22a47c RATIS-1767. Initialize MatchIndex to RaftLog.INVALID_LOG_INDEX. (#805) new f8634e52a RATIS-1768. Fix stepDown command don't work issue (#806) new db6944eac RATIS-1766. Add descriptions to metrics entries (#804) new 960950795 RATIS-1772. Refactor the startLeaderElection code in LeaderStateImpl. (#811) new d3d7d6eab RATIS-1773. Fix readIndexHeartbeat using incorrct index handle onAppendEntriesReply method (#810) new 8908caf73 RATIS-1775. FollowerInfoImpl should not store RaftPeer. (#812) new b6e8c9e9d RATIS-1774. Change SenderList in LeaderStateImpl to implement Iterable. (#813) new 5d98c64a9 RATIS-1762. Support transfer leadership between nodes with same priority (#807) new e7f25ed5c RATIS-1778. Fix NPE in readIndexHeartbeats (#819) new f6b5efc62 RATIS-1779. Refactor: Reduce nesting in TransferLeadership (#820) new 755399407 RATIS-1784. Ignore .vscode in source repo. (#822) new e0b97879a RATIS-1783. MAX_OP_SIZE is not configurable on raft log read. (#823) new 54bcb7471 RATIS-1543. Log from GrpcLogAppender is confusing. (#821) new 4efca7871 RATIS-1769. Avoid changing priorities in TransferCommand unless necessary (#808) new 1f54d4552 RATIS-1786. Reset the digester of the follower at the beginning of each file transfer during a InstallSnapshot to avoid snapshot transfer failure (#825) new 2954754e4 RATIS-1785. Use SingleThreadExecutor to manage the lifetime of single thread (#824) new 3a3fafb96 RATIS-1788. Improve the JvmPauseMonitor log messages. (#826) new 15474faf5 RATIS-1791. Intermittent failure in ServerRestartTests#testRestartFollower (#827) new fd7ccbecb RATIS-1794. Intermittent failure in PreAppendLeaderStepDownTest#testLeaderStepDown (#833) new c1da37cb4 RATIS-1793. Enforce raft.server.log.appender.wait-time.min. (#832) new 4d0c7d0e9 RATIS-1799. Make shell scripts in binary package executable (#835) new dae9a5fbf RATIS-1801. Fix flaky test of TestLogAppenderWithGrpc.testPendingLimits (#837) new 03e99088f RATIS-1800. Remove unused ratis-shell properties (#836) new 12e0c6e10 RATIS-1798. Make ratis-shell command respect GENERIC_COMMAND_OPTIONS (#834) new d1d13fe70 RATIS-1806. Further fix for TestLogAppenderWithGrpc#testPendingLimits (#841) new 6748ec853 RATIS-1805. Add doc about GENERIC_COMMAND_OPTIONS of ratis-shell (#840) ------ END On Wed, Mar 1, 2023 at 10:44 AM Tsz Wo Sze <[email protected]> wrote: > Hi Attila, > > The list only contains bug fixes and performance improvements but not new > features (e.g. linearizable read). Let me go through the JIRAs again to > include linearizable read. > > Tsz-Wo > > On Wed, Mar 1, 2023 at 12:21 AM Attila Doroszlai <[email protected]> > wrote: > >> Hi Tsz-Wo, >> >> > Just have checked the commit list of the master branch. I suggest >> > including the following 16 commits for bug fixes and improvements. I >> have >> > tried to cherry-pick them to branch-2; see >> > https://github.com/apache/ratis/tree/branch-2_tmp >> >> Do you mean only these, or in addition to the ones already mentioned >> in previous emails? (Some are present in both your list and the >> previous ones, hence the question.) >> >> -Attila >> >
