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/05/14 04:52:03 UTC

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

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 50299e199 Bump ratis pom version for 2.4.2-snapshot release
 discard ebba77d80 RATIS-1767. Initialize MatchIndex to RaftLog.INVALID_LOG_INDEX. (#805)
 discard 7e12641c0 RATIS-1765. [GrpcLogAppender] Calculate streaming md5 file-wise when installSnapshot (#803)
 discard 09aa80c3d RATIS-1764. [GrpcLogAppender] create parent directory when installSnapshot
 discard 2d5f62b9b RATIS-1763. Purging logs in an ordered manner. (#801)
     add 26df5f8c8 RATIS-1621. Fix intermittent failure in TestLeaderElectionMetrics (#679)
     add 349aee18d RATIS-1792. Replace parallelStream usage in PeerProxyMap (#829)
     add f54754a04 RATIS-1643. Add heartbeat broadcast mechanism for leader readIndex. (#730)
     add 9270bb3ce RATIS-1697. StateMachineUpdater.getStateMachineLastAppliedIndex should handle null. (#736)
     add b6468dbff RATIS-1696. Support linearizable read-only requests in leader (#735)
     add 22c6a036a RATIS-1701. Add new Server RPC: readIndex (#738)
     add 3fcf38812 RATIS-1706. Move heartbeat listeners to LeaderState (#743)
     add 1375bdb9b RATIS-1715. Support linearizable read in AsyncApi. (#754)
     add 242df11b0 RATIS-1716. Separate ReadException and ReadIndexException for client retry (#758)
     add bbadb4144 RATIS-1652. Fix NP_NULL_PARAM_DEREF in DataStreamManagement (#763)
     add bd8a12cf4 RATIS-1722. Fix the suppressed findbugs warnings in SimpleStateMachineStorage. (#760)
     add fd7a6f373 RATIS-1723. CounterStateMachine should update the latest snapshot. (#765)
     add c8f8145e1 RATIS-1728. Avoid org.apache.log4j imports. (#768)
     add cc807fda9 RATIS-1733. Typo: fix misleading params names in `RaftServerConfigKeys` (#771)
     add da23510d8 RATIS-1732. Add configuration reference for RaftServer (#770)
     add 43d8f220f RATIS-1742. Remove slf4j-log4j12 test dependency from ratis-common and ratis-server. (#781)
     add 59eae1106 RATIS-1752. Clean md5 file created by old ratis version. (#790)
     add 99640255b RATIS-1750. Add snapshot section in dev guide (#788)
     add 615a03853 RATIS-1744. NullPointerException causes RaftClient retry failure. (#794)
     add f58e2a5c5 RATIS-1751. Race condition between LeaderStateImpl & ServerState. (#789)
     add e489fd67c RATIS-1757: Missing some metrics for listener. (#796)
     add 053a815d9 RATIS-1758. Add linearizable read in Counter example (#797)
     add 5fa608d4b RATIS-1759. Support client use linearizable read per request (#798)
     add 9628ae999 RATIS-1761. If LeaderStateImpl is not running, it should not restart a LogAppender. (#799)
     add 25552d6cd RATIS-1763. Purging logs in an ordered manner. (#801)
     add d11663562 RATIS-1764. installSnapshot failed due to file already exists (#802)
     add 743f86a05 RATIS-1765. [GrpcLogAppender] Calculate streaming md5 file-wise when installSnapshot (#803)
     add 32a22a47c RATIS-1767. Initialize MatchIndex to RaftLog.INVALID_LOG_INDEX. (#805)
     add f8634e52a RATIS-1768. Fix stepDown command don't work issue (#806)
     add db6944eac RATIS-1766. Add descriptions to metrics entries (#804)
     add 960950795 RATIS-1772. Refactor the startLeaderElection code in LeaderStateImpl. (#811)
     add d3d7d6eab RATIS-1773. Fix readIndexHeartbeat using incorrct index handle onAppendEntriesReply method (#810)
     add 8908caf73 RATIS-1775. FollowerInfoImpl should not store RaftPeer. (#812)
     add b6e8c9e9d RATIS-1774. Change SenderList in LeaderStateImpl to implement Iterable. (#813)
     add 5d98c64a9 RATIS-1762. Support transfer leadership between nodes with same priority (#807)
     add e7f25ed5c RATIS-1778. Fix NPE in readIndexHeartbeats (#819)
     add f6b5efc62 RATIS-1779. Refactor: Reduce nesting in TransferLeadership (#820)
     add 755399407 RATIS-1784. Ignore .vscode in source repo. (#822)
     add e0b97879a RATIS-1783. MAX_OP_SIZE is not configurable on raft log read. (#823)
     add 54bcb7471 RATIS-1543. Log from GrpcLogAppender is confusing. (#821)
     add 4efca7871 RATIS-1769. Avoid changing priorities in TransferCommand unless necessary (#808)
     add 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)
     add 2954754e4 RATIS-1785. Use SingleThreadExecutor to manage the lifetime of single thread (#824)
     add 3a3fafb96 RATIS-1788. Improve the JvmPauseMonitor log messages. (#826)
     add 15474faf5 RATIS-1791. Intermittent failure in ServerRestartTests#testRestartFollower (#827)
     add fd7ccbecb RATIS-1794. Intermittent failure in PreAppendLeaderStepDownTest#testLeaderStepDown (#833)
     add c1da37cb4 RATIS-1793. Enforce raft.server.log.appender.wait-time.min. (#832)
     add 4d0c7d0e9 RATIS-1799. Make shell scripts in binary package executable (#835)
     add dae9a5fbf RATIS-1801. Fix flaky test of TestLogAppenderWithGrpc.testPendingLimits (#837)
     add 03e99088f RATIS-1800. Remove unused ratis-shell properties (#836)
     add 12e0c6e10 RATIS-1798. Make ratis-shell command respect GENERIC_COMMAND_OPTIONS (#834)
     add d1d13fe70 RATIS-1806. Further fix for TestLogAppenderWithGrpc#testPendingLimits (#841)
     add 6748ec853 RATIS-1805. Add doc about GENERIC_COMMAND_OPTIONS of ratis-shell (#840)
     add cfd342044 RATIS-1802. GrpcServerProtocolService encounters IllegalStateException: call already closed. (#839)
     add 08dc58fcb RATIS-1807. Support timeout in gRPC. (#842)
     add 252446070 RATIS-1811. Improve StreamObserver's log messages (#849)
     add 1c500bbaf RATIS-1810. Intermittent failure in TestRaftServerWithGrpc#testRaftClientMetrics (#847)
     add 3ed7c481c RATIS-1808. Rerun PreVote when Vote is timed out (#846)
     add 70fe68f0d RATIS-1815. GitHub: Enable autolink to Jira (#853)
     add 5d9e4b538 RATIS-1813. Allow ratis-shell to run in JDK 8+ (#851)
     add ee8aef255 RATIS-1796. Fix TransferLeadership stopped by heartbeat from old leader (#844)
     add 2fc1c83a6 RATIS-1814: The group info command of the Ratis shell does not show the listener (#852)
     add 5a996a42f RATIS-1812. Enforce a outstanding request limit in StreamObserverWithTimeout. (#850)
     add 80617d4bb RATIS-1809. Use separated timeout for GrpcLogAppender's streaming RPC (#848)
     add e20a2e83b RATIS-1816. appendEntryTimer is not accurate due to the return of writeFuture (#855)
     add f0d9d566e RATIS-1770. Yield leader to higher priority peer by TransferLeadership (#845)
     add c727be372 RATIS-1795. Add and distribute a Maven Wrapper (#856)
     add f50965d56 RATIS-1817. Do not send StartLeaderElection when leaderLastEntry is null (#857)
     add 649e5fef2 RATIS-1819. Use Maven Wrapper in CI workflows (#859)
     add c19db251d RATIS-1820. Update apache parent pom version and other versions. (#861)
     add 14ae143fb RATIS-1662. Intermittent failure in testEnforceLeader (#860)
     add 42c3c6ba4 RATIS-1821. Upgrade ratis-thirdparty version to 1.0.4 (#862)
     add 2b373f6bc RATIS-1822. Disable first election on changeToFollower (#863)
     add 8a226a33b RATIS-1823. Improve error log in StreamObserverWithTimeout. (#864)
     add 6497f8e0b RATIS-1827. Update installed snapshot index only when InstallSnapshot is done (#868)
     add 2e0adeb83 RATIS-1824. Membership change may fail when a Listener is present in the cluster.  (#865)
     add ad03a7be4 RATIS-1826: Listener will change to follower when using ratis shell
     add c12c3c9b8 RATIS-1831. GrpcLogAppender spinning idle between heartbeats (#872)
     add bbec2f1b9 [RELEASE] Bump version to 2.5.1-SNAPSHOT after release of 2.5.0
     add b221e6226 RATIS-1835. Keep nextIndex unchanged when leader sending heartbeat to restarting followers (#875)
     add 262e8cb5f RATIS-1834. ServerRequestStreamObserver is not properly closed. (#876)
     add 05410aafe RATIS-1837. Restrict reading maxChunkSize bytes each installSnapshot RPC (#877)
     add a96bfeeb3 RATIS-1838. Compare commit index with last included index when installSnapshot (#878)
     new 7451d86a1 RATIS-1841. Fixed bug where cluster restart failed to transfer snapshot. (#879)

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   (50299e199)
            \
             N -- N -- N   refs/heads/snapshot-branch2 (7451d86a1)

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 1 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:
 .asf.yaml                                          |   1 +
 .gitignore                                         |   4 +-
 .mvn/wrapper/maven-wrapper.properties              |  18 +
 BUILDING.md                                        |   6 +-
 dev-support/checks/_mvn_unit_report.sh             |   2 +-
 dev-support/checks/build.sh                        |   4 +-
 dev-support/checks/checkstyle.sh                   |   6 +-
 dev-support/checks/findbugs.sh                     |   6 +-
 dev-support/checks/rat.sh                          |   4 +-
 dev-support/checks/sonar.sh                        |   5 +-
 dev-support/checks/unit.sh                         |   4 +-
 .../install-runconfig.sh => find_maven.sh}         |  20 +-
 dev-support/make_rc.sh                             |  10 +-
 dev-support/run-test-repeatedly.sh                 |   6 +-
 mvnw                                               | 308 +++++++++++
 mvnw.cmd                                           | 205 +++++++
 pom.xml                                            |  53 +-
 ratis-assembly/pom.xml                             |   3 +-
 ratis-assembly/src/main/assembly/bin-pkg.xml       |  15 +
 ratis-assembly/src/main/assembly/src.xml           |  10 +
 ratis-client/pom.xml                               |   2 +-
 .../org/apache/ratis/client/DataStreamClient.java  |   2 +-
 .../java/org/apache/ratis/client/RaftClient.java   |   2 +-
 .../java/org/apache/ratis/client/api/AdminApi.java |   6 +-
 .../java/org/apache/ratis/client/api/AsyncApi.java |  19 +-
 .../org/apache/ratis/client/api/BlockingApi.java   |  19 +-
 .../org/apache/ratis/client/impl/AdminImpl.java    |   6 +-
 .../org/apache/ratis/client/impl/AsyncImpl.java    |   9 +-
 .../org/apache/ratis/client/impl/BlockingImpl.java |   9 +-
 .../apache/ratis/client/impl/ClientProtoUtils.java |  82 ++-
 .../org/apache/ratis/client/impl/OrderedAsync.java |   2 +-
 ratis-common/pom.xml                               |   7 +-
 .../org/apache/ratis/protocol/GroupInfoReply.java  |  19 +-
 .../org/apache/ratis/protocol/RaftClientReply.java |  13 +-
 .../apache/ratis/protocol/RaftClientRequest.java   |   8 +-
 .../org/apache/ratis/protocol/RoutingTable.java    |   2 +-
 .../exceptions/LeaderNotReadyException.java        |  10 +-
 ...upMismatchException.java => ReadException.java} |  11 +-
 ...losedException.java => ReadIndexException.java} |  13 +-
 .../java/org/apache/ratis/retry/RetryPolicies.java |   6 +-
 .../org/apache/ratis/util/ConcurrentUtils.java     |  15 +
 .../main/java/org/apache/ratis/util/ExitUtils.java |   2 +-
 .../main/java/org/apache/ratis/util/FileUtils.java |  26 +-
 .../org/apache/ratis/util/JvmPauseMonitor.java     |  18 +-
 .../java/org/apache/ratis/util/MD5FileUtil.java    |  28 +-
 .../java/org/apache/ratis/util/OpenCloseState.java |   4 +-
 .../java/org/apache/ratis/util/PeerProxyMap.java   |   6 +-
 .../org/apache/ratis/util/ResourceSemaphore.java   |  28 +-
 .../java/org/apache/ratis/util/StringUtils.java    |  10 +-
 .../java/org/apache/ratis/util/TimeDuration.java   |  18 +-
 .../{CheckedRunnable.java => StringSupplier.java}  |  28 +-
 .../src/test/java/org/apache/ratis/BaseTest.java   |   8 +-
 .../java/org/apache/ratis/util/Log4jUtils.java     |  37 --
 .../java/org/apache/ratis/util/Slf4jUtils.java     | 129 +++++
 ratis-docs/pom.xml                                 |   2 +-
 ratis-docs/src/site/markdown/cli.md                |  10 +
 ratis-docs/src/site/markdown/configuraions.md      | 614 +++++++++++++++++++++
 ratis-docs/src/site/markdown/metrics.md            | 145 +++++
 ratis-docs/src/site/markdown/snapshot.md           | 240 ++++++++
 ratis-examples/README.md                           |   8 +-
 ratis-examples/pom.xml                             |   7 +-
 .../arithmetic/ArithmeticStateMachine.java         |  22 +-
 .../examples/arithmetic/expression/Expression.java |   6 +-
 .../apache/ratis/examples/common/Constants.java    |  31 +-
 .../examples/counter/client/CounterClient.java     |  31 ++
 .../examples/counter/server/CounterServer.java     |  24 +-
 .../counter/server/CounterStateMachine.java        |  37 +-
 .../apache/ratis/examples/debug/server/Server.java |   3 +-
 ratis-examples/src/main/resources/conf.properties  |   4 +-
 .../java/org/apache/ratis/TestMultiRaftGroup.java  |   7 +-
 .../ratis/examples/arithmetic/TestArithmetic.java  |   6 +-
 .../examples/arithmetic/TestArithmeticLogDump.java |   8 +-
 ratis-experiments/pom.xml                          |   2 +-
 ratis-grpc/pom.xml                                 |   2 +-
 .../java/org/apache/ratis/grpc/GrpcConfigKeys.java |  38 +-
 .../main/java/org/apache/ratis/grpc/GrpcUtil.java  |  16 +-
 .../apache/ratis/grpc/server/GrpcLogAppender.java  |  80 +--
 .../grpc/server/GrpcServerProtocolClient.java      |  13 +-
 .../grpc/server/GrpcServerProtocolService.java     |  41 +-
 .../org/apache/ratis/grpc/server/GrpcService.java  |  45 ++
 .../grpc/util/ResponseNotifyClientInterceptor.java |  72 +++
 .../ratis/grpc/util/StreamObserverWithTimeout.java | 129 +++++
 ratis-metrics/pom.xml                              |   2 +-
 ratis-netty/pom.xml                                |   2 +-
 .../ratis/netty/server/DataStreamManagement.java   |   2 -
 ratis-proto/pom.xml                                |   2 +-
 ratis-proto/src/main/proto/Grpc.proto              |   3 +
 ratis-proto/src/main/proto/Raft.proto              |  13 +
 .../src/main/proto/Test.proto                      |  25 +-
 ratis-replicated-map/pom.xml                       |   2 +-
 ratis-resource-bundle/pom.xml                      |   2 +-
 ratis-server-api/pom.xml                           |   2 +-
 .../java/org/apache/ratis/server/RaftServer.java   |  15 +-
 .../apache/ratis/server/RaftServerConfigKeys.java  |  64 ++-
 .../org/apache/ratis/server/RaftServerRpc.java     |   7 +
 .../apache/ratis/server/leader/FollowerInfo.java   |  14 +-
 .../apache/ratis/server/leader/LeaderState.java    |   4 +
 .../apache/ratis/server/leader/LogAppender.java    |   6 +-
 .../protocol/RaftServerAsynchronousProtocol.java   |   5 +
 .../apache/ratis/server/raftlog/RaftLogIndex.java  |  30 +-
 ratis-server/pom.xml                               |   7 +-
 .../apache/ratis/server/impl/FollowerInfoImpl.java |  52 +-
 .../apache/ratis/server/impl/LeaderElection.java   |  95 ++--
 .../apache/ratis/server/impl/LeaderStateImpl.java  | 467 ++++++++++------
 .../ratis/server/impl/PeerConfiguration.java       |   7 +-
 .../apache/ratis/server/impl/PendingRequests.java  |  17 +-
 .../ratis/server/impl/RaftConfigurationImpl.java   |  13 +-
 .../apache/ratis/server/impl/RaftServerImpl.java   | 150 ++++-
 .../apache/ratis/server/impl/RaftServerProxy.java  |  16 +-
 .../ratis/server/impl/ReadIndexHeartbeats.java     | 178 ++++++
 .../org/apache/ratis/server/impl/ReadRequests.java |  98 ++--
 .../apache/ratis/server/impl/ServerProtoUtils.java |  15 +
 .../org/apache/ratis/server/impl/ServerState.java  |  23 +-
 .../server/impl/SnapshotInstallationHandler.java   |  22 +-
 .../ratis/server/impl/StateMachineUpdater.java     |  44 +-
 .../ratis/server/impl/TransferLeadership.java      | 274 ++++++++-
 .../server/leader/InstallSnapshotRequests.java     |   2 +-
 .../ratis/server/leader/LogAppenderBase.java       |  19 +-
 .../ratis/server/leader/LogAppenderDaemon.java     |   6 +-
 .../ratis/server/leader/LogAppenderDefault.java    |   1 +
 .../server/metrics/RaftServerMetricsImpl.java      |   5 +-
 .../server/metrics/SegmentedRaftLogMetrics.java    |   8 +-
 .../apache/ratis/server/raftlog/LogProtoUtils.java |   2 +-
 .../ratis/server/raftlog/segmented/LogSegment.java |  47 +-
 .../server/raftlog/segmented/SegmentedRaftLog.java |   6 +-
 .../raftlog/segmented/SegmentedRaftLogCache.java   |   7 +-
 .../segmented/SegmentedRaftLogInputStream.java     |  15 +-
 .../raftlog/segmented/SegmentedRaftLogReader.java  |  27 +-
 .../raftlog/segmented/SegmentedRaftLogWorker.java  |  19 +-
 .../ratis/server/storage/FileChunkReader.java      |   6 +-
 .../ratis/server/storage/SnapshotManager.java      |   4 +-
 .../statemachine/impl/FileListSnapshotInfo.java    |  10 +-
 .../impl/SimpleStateMachineStorage.java            | 182 +++---
 .../statemachine/impl/SingleFileSnapshotInfo.java  |   9 +-
 .../ratis/InstallSnapshotFromLeaderTests.java      |  19 +-
 .../ratis/InstallSnapshotNotificationTests.java    |  14 +-
 .../java/org/apache/ratis/LogAppenderTests.java    |   8 +-
 .../org/apache/ratis/MessageStreamApiTests.java    |  10 +-
 .../org/apache/ratis/RaftAsyncExceptionTests.java  |   8 +-
 .../test/java/org/apache/ratis/RaftAsyncTests.java |  10 +-
 .../test/java/org/apache/ratis/RaftBasicTests.java |   6 +-
 .../org/apache/ratis/RaftExceptionBaseTest.java    |  10 +-
 .../org/apache/ratis/ReadOnlyRequestTests.java     | 316 +++++++++++
 .../ratis/ReadOnlyRequestWithLongTimeoutTests.java | 125 +++++
 .../apache/ratis/RequestLimitAsyncBaseTest.java    |  10 +-
 .../java/org/apache/ratis/RetryCacheTests.java     |   6 +-
 .../java/org/apache/ratis/WatchRequestTests.java   |   8 +-
 .../ratis/server/impl/GroupInfoBaseTest.java       |   8 +-
 .../ratis/server/impl/GroupManagementBaseTest.java |  10 +-
 .../ratis/server/impl/LeaderElectionTests.java     |  83 ++-
 .../server/impl/PreAppendLeaderStepDownTest.java   |  15 +-
 .../server/impl/RaftReconfigurationBaseTest.java   |   6 +-
 .../ratis/server/impl/RaftServerTestUtil.java      |  74 +--
 .../impl/RaftStateMachineExceptionTests.java       |  12 +-
 .../server/impl/StateMachineShutdownTests.java     |   2 +-
 .../server/impl/TestRatisServerMetricsBase.java    |   8 +-
 .../server/metrics/TestLeaderElectionMetrics.java  |   2 +-
 .../segmented/SegmentedRaftLogTestUtils.java       |  16 +-
 .../MiniRaftClusterWithSimulatedRpc.java           |   2 +-
 .../ratis/statemachine/RaftSnapshotBaseTest.java   |  11 +-
 .../ratis/statemachine/SnapshotManagementTest.java |  12 +-
 .../{ => impl}/SimpleStateMachine4Testing.java     |  60 +-
 ratis-shell/pom.xml                                |   2 +-
 .../java/org/apache/ratis/shell/cli/RaftUtils.java |   7 +
 .../shell/cli/sh/command/AbstractRatisCommand.java |  23 +
 .../shell/cli/sh/election/StepDownCommand.java     |   4 +-
 .../shell/cli/sh/election/TransferCommand.java     |  99 ++--
 .../apache/ratis/shell/cli/sh/peer/AddCommand.java |   8 +-
 .../ratis/shell/cli/sh/peer/RemoveCommand.java     |  10 +-
 .../shell/cli/sh/peer/SetPriorityCommand.java      |  25 +-
 ratis-shell/src/main/libexec/ratis-shell-config.sh |  16 +-
 ratis-test/pom.xml                                 |  23 +-
 .../ratis/TestRaftServerNoLeaderTimeout.java       |  10 +-
 .../ratis/TestRaftServerSlownessDetection.java     |   8 +-
 .../ratis/datastream/TestDataStreamDisabled.java   |  36 +-
 ...amSslWithRpcTypeGrpcAndDataStreamTypeNetty.java |   6 +-
 .../apache/ratis/grpc/TestLogAppenderWithGrpc.java |  24 +-
 .../apache/ratis/grpc/TestRaftServerWithGrpc.java  |  30 +-
 .../org/apache/ratis/grpc/TestRaftWithGrpc.java    |   2 +-
 ...hGrpc.java => TestReadOnlyRequestWithGrpc.java} |   9 +-
 ...estReadOnlyRequestWithLongTimeoutWithGrpc.java} |   8 +-
 .../apache/ratis/grpc/TestRetryCacheWithGrpc.java  |   2 +-
 .../ratis/grpc/TestWatchRequestWithGrpc.java       |  10 +-
 .../org/apache/ratis/grpc/util/GrpcTestClient.java | 126 +++++
 .../org/apache/ratis/grpc/util/GrpcTestServer.java | 108 ++++
 .../grpc/util/TestStreamObserverWithTimeout.java   | 119 ++++
 .../ratis/retry/TestExceptionDependentRetry.java   |   2 +-
 .../apache/ratis/server/ServerRestartTests.java    |  18 +-
 .../server/raftlog/memory/MemoryRaftLogTest.java   |   9 +-
 .../raftlog/segmented/TestCacheEviction.java       |   6 +-
 .../server/raftlog/segmented/TestLogSegment.java   |  20 +-
 .../raftlog/segmented/TestRaftLogReadWrite.java    |   7 +-
 .../raftlog/segmented/TestSegmentedRaftLog.java    |  18 +-
 .../segmented/TestSegmentedRaftLogCache.java       |   3 +-
 .../ratis/server/storage/TestRaftStorage.java      |  13 +-
 .../cli/sh/ElectionCommandIntegrationTest.java     |  68 ++-
 .../shell/cli/sh/GroupCommandIntegrationTest.java  |  14 +-
 .../shell/cli/sh/PeerCommandIntegrationTest.java   |  14 +-
 .../cli/sh/SnapshotCommandIntegrationTest.java     |  14 +-
 .../ratis/statemachine/TestStateMachine.java       |   9 +-
 .../apache/ratis/util/TestResourceSemaphore.java   |  13 +-
 .../org/apache/ratis/util/TestTimeDuration.java    |  22 +-
 .../apache/ratis/util/TestTimeoutScheduler.java    |   4 +-
 ratis-tools/pom.xml                                |   2 +-
 .../java/org/apache/ratis/tools/ParseRatisLog.java |  14 +-
 205 files changed, 5499 insertions(+), 1347 deletions(-)
 create mode 100644 .mvn/wrapper/maven-wrapper.properties
 copy dev-support/{intellij/install-runconfig.sh => find_maven.sh} (73%)
 create mode 100755 mvnw
 create mode 100644 mvnw.cmd
 copy ratis-common/src/main/java/org/apache/ratis/protocol/exceptions/{GroupMismatchException.java => ReadException.java} (80%)
 copy ratis-common/src/main/java/org/apache/ratis/protocol/exceptions/{AlreadyClosedException.java => ReadIndexException.java} (78%)
 copy ratis-common/src/main/java/org/apache/ratis/util/function/{CheckedRunnable.java => StringSupplier.java} (61%)
 delete mode 100644 ratis-common/src/test/java/org/apache/ratis/util/Log4jUtils.java
 create mode 100644 ratis-common/src/test/java/org/apache/ratis/util/Slf4jUtils.java
 create mode 100644 ratis-docs/src/site/markdown/configuraions.md
 create mode 100644 ratis-docs/src/site/markdown/metrics.md
 create mode 100644 ratis-docs/src/site/markdown/snapshot.md
 create mode 100644 ratis-grpc/src/main/java/org/apache/ratis/grpc/util/ResponseNotifyClientInterceptor.java
 create mode 100644 ratis-grpc/src/main/java/org/apache/ratis/grpc/util/StreamObserverWithTimeout.java
 copy ratis-experiments/src/main/flatbufs/FileTransfer.fbs => ratis-proto/src/main/proto/Test.proto (69%)
 create mode 100644 ratis-server/src/main/java/org/apache/ratis/server/impl/ReadIndexHeartbeats.java
 create mode 100644 ratis-server/src/test/java/org/apache/ratis/ReadOnlyRequestTests.java
 create mode 100644 ratis-server/src/test/java/org/apache/ratis/ReadOnlyRequestWithLongTimeoutTests.java
 rename ratis-server/src/test/java/org/apache/ratis/statemachine/{ => impl}/SimpleStateMachine4Testing.java (89%)
 copy ratis-test/src/test/java/org/apache/ratis/grpc/{TestRaftAsyncWithGrpc.java => TestReadOnlyRequestWithGrpc.java} (81%)
 copy ratis-test/src/test/java/org/apache/ratis/grpc/{TestRaftReconfigurationWithGrpc.java => TestReadOnlyRequestWithLongTimeoutWithGrpc.java} (77%)
 create mode 100644 ratis-test/src/test/java/org/apache/ratis/grpc/util/GrpcTestClient.java
 create mode 100644 ratis-test/src/test/java/org/apache/ratis/grpc/util/GrpcTestServer.java
 create mode 100644 ratis-test/src/test/java/org/apache/ratis/grpc/util/TestStreamObserverWithTimeout.java


[ratis] 01/01: RATIS-1841. Fixed bug where cluster restart failed to transfer snapshot. (#879)

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 7451d86a13c2550477f3db4468916162ab9010f3
Author: Potato <ta...@apache.org>
AuthorDate: Sat May 13 16:37:43 2023 +0800

    RATIS-1841. Fixed bug where cluster restart failed to transfer snapshot. (#879)
---
 .../src/main/java/org/apache/ratis/grpc/server/GrpcLogAppender.java | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/ratis-grpc/src/main/java/org/apache/ratis/grpc/server/GrpcLogAppender.java b/ratis-grpc/src/main/java/org/apache/ratis/grpc/server/GrpcLogAppender.java
index 61ef60b8a..1ac91e4fc 100644
--- a/ratis-grpc/src/main/java/org/apache/ratis/grpc/server/GrpcLogAppender.java
+++ b/ratis-grpc/src/main/java/org/apache/ratis/grpc/server/GrpcLogAppender.java
@@ -124,9 +124,9 @@ public class GrpcLogAppender extends LogAppenderBase {
           .map(AppendEntriesRequest::getPreviousLog)
           .map(TermIndex::getIndex)
           .orElseGet(f::getMatchIndex);
-      if (onError && f.getMatchIndex() == 0 && request == null) {
-        LOG.warn("{}: Follower failed when matchIndex == 0, " +
-          " keep nextIndex ({}) unchanged and retry.", this, f.getNextIndex());
+      if (onError && request == null) {
+        LOG.warn("{}: Follower failed and request == null, " +
+            " keep nextIndex ({}) unchanged and retry.", this, f.getNextIndex());
         return;
       }
       if (request != null && request.isHeartbeat()) {