Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
76 commits
Select commit Hold shift + click to select a range
84285d3
RATIS-1925. Support Zero-Copy in GrpcClientProtocolService (#1007)
duongkame Jan 13, 2024
59dfd35
RATIS-1998. Add watch request metrics (#1009)
ivandika3 Jan 13, 2024
2062058
RATIS-1989. Intermittent timeout in TestStreamObserverWithTimeout (#1…
adoroszlai Jan 15, 2024
863c2e8
RATIS-1987. Intermittent NPE in TestGrpcZeroCopy. (#1013)
szetszwo Jan 15, 2024
6671ef6
RATIS-1999. Move RaftServerJmxAdapter out from RaftServerImpl. (#1010)
szetszwo Jan 16, 2024
2448256
RATIS-2001. TransactionContext can be wrongly reused. (#1015)
szetszwo Jan 17, 2024
eae0d18
RATIS-2005. Fix URF_UNREAD_FIELD in MetricServerCallListener (#1018)
adoroszlai Jan 18, 2024
859a410
RATIS-2006. Fix DM_EXIT in filestore Client (#1019)
adoroszlai Jan 18, 2024
14eb0bf
RATIS-2002. Fix findbugs warnings in LogSegmentPath (#1017)
adoroszlai Jan 18, 2024
5d4ec69
RATIS-1990. Refactor appendEntries processing to support reference co…
duongkame Jan 18, 2024
82f7b3b
RATIS-2003. Fix IT_NO_SUCH_ELEMENT in InstallSnapshotRequests (#1016)
adoroszlai Jan 18, 2024
fc5c725
RATIS-2004. Fix EQ_COMPARETO_USE_OBJECT_EQUALS in LogSegment (#1020)
adoroszlai Jan 18, 2024
82c31ea
RATIS-2009. ReferenceCount should work for all LogEntry types. (#1021)
duongkame Jan 19, 2024
d459eb6
RATIS-1934. Support Zero-Copy in GrpcServerProtocolService (#1014)
duongkame Jan 19, 2024
561cd6d
RATIS-2010. Remove dependency on spotbugs-annotations (#1022)
adoroszlai Jan 19, 2024
c1e0ec2
RATIS-2013. OrderedAsync retry results an IllegalStateException in Gr…
szetszwo Jan 22, 2024
0e24757
RATIS-1972. Add junit 5 dependencies in ratis-server. (#1003)
nandakumar131 Jan 23, 2024
ea1341b
RATIS-2012. Client should not retry after close. (#1025)
szetszwo Jan 23, 2024
79923c2
RATIS-2008. Follower should recognize candidate if the candidate is t…
ivandika3 Jan 24, 2024
e2aaddc
RATIS-2007. Zero-copy buffers are not released (#1027)
duongkame Jan 25, 2024
a18d08c
RATIS-2015. Node.js 16 actions are deprecated (#1028)
adoroszlai Jan 25, 2024
5560718
RATIS-2011. When a log entry is truncated, remove TransactionContext.…
szetszwo Jan 25, 2024
7d587ec
RATIS-2017: checkAndEvictCache must be done in writeLock. (#1031)
duongkame Jan 27, 2024
035cd96
RATIS-2016. Correct NotificationInstallSnapshot's index (#1030)
symious Jan 28, 2024
9cd74a2
RATIS-1974. Migrate ratis-metrics-default tests to Junit 5 (#1034)
nandakumar131 Jan 29, 2024
c4b10fa
RATIS-2018. Zero-copy buffers are not released - 2nd chunk (#1032)
duongkame Jan 30, 2024
cf897f0
RATIS-1973. Migrate ratis-examples tests to Junit 5. (#1035)
nandakumar131 Jan 30, 2024
d2f1c57
RATIS-2019 Fixed abnormal exit of StateMachineUpdater (#1033)
OneSizeFitsQuorum Jan 30, 2024
c46da22
RATIS-1978. Add tests assertions to verify all zero-copy messages are…
duongkame Jan 31, 2024
a2cb49e
RATIS-1975. Migrate ratis-metrics-dropwizard3 tests to Junit 5. (#1037)
nandakumar131 Feb 1, 2024
e44de26
RATIS-1976. Migrate ratis-test tests to Junit 5 - Part 1 (#1038)
nandakumar131 Feb 1, 2024
4f5612f
RATIS-2023. Remove duplicate RefCountingMap (#1039)
adoroszlai Feb 1, 2024
775b286
RATIS-1997. Refactor StateMachine interface to use ReferenceCountedOb…
duongkame Feb 1, 2024
1d99921
RATIS-2024. Refactor appendEntries code. (#1040)
szetszwo Feb 6, 2024
16b6536
RATIS-2025. Move out assert and proto methods from RaftServerImpl. (#…
szetszwo Feb 7, 2024
67b7650
RATIS-2021. Migrate ratis-test tests to Junit 5 - Part 2. (#1043)
nandakumar131 Feb 20, 2024
044b111
RATIS-2027. Ratis Streaming: Remote Stream copy data to heap. (#1044)
szetszwo Feb 21, 2024
53d35c0
RATIS-2020. Refactor TransactionContext to supply LogEntryProto via a…
duongkame Feb 21, 2024
1bd4510
RATIS-2038. IllegalStateException when ServerState is closed before s…
szetszwo Mar 1, 2024
df436c7
RATIS-2035. Refactor streaming code for Read. (#1046)
szetszwo Mar 7, 2024
99a833c
Ratis-2031. Add peer info to response of GroupInfoCommand CLI (#1047)
DaveTeng0 Mar 8, 2024
e199daa
RATIS-2028. Refactor RaftLog to supply log as ReferenceCountedObject …
duongkame Mar 12, 2024
422cb9d
RATIS-2043. Change toString() of RaftConfigurationImpl (#1051)
symious Mar 15, 2024
44a4f1f
RATIS-2044. Fix ReadIndex loss caused by data race in AppendEntriesLi…
SzyWilliam Mar 18, 2024
72c060d
RATIS-2045. SnapshotInstallationHandler doesn't notify follower when …
hemantk-12 Mar 20, 2024
c3d615b
RATIS-2047. Avoid unnecessary warn log when creating raft group (#1054)
OneSizeFitsQuorum Mar 22, 2024
be497d5
RATIS-2048. Fix SimpleStateMachineStorage potential NPE exception (#1…
OneSizeFitsQuorum Mar 22, 2024
0f631fe
RATIS-2036. Avoid trigger snapshot when removing raftGroup (#1055)
OneSizeFitsQuorum Mar 23, 2024
54c2b1f
RATIS-2049. Suppress Sonar warning for volatile objects (#1057)
OneSizeFitsQuorum Mar 25, 2024
14dbbf3
RATIS-2050. Add creationGap param to snapshot management API (#1058)
SzyWilliam Mar 26, 2024
397c2ef
RATIS-2026. LogAppender to consume log entries with reference count (…
duongkame Mar 27, 2024
a99e709
RATIS-2052. Add docs for triggering snapshot when removing raftGroup …
OneSizeFitsQuorum Mar 29, 2024
c73a3eb
RATIS-1979. Allow StateMachine.read to return a ReferentCountedObject…
duongkame Apr 2, 2024
f404244
RATIS-2051. Fix Sonar bugs for Ratis. (#1059)
OneSizeFitsQuorum Apr 3, 2024
bc6221b
RATIS-1519. When DataStreamManagement#read an exception occurs, remov…
guohao-rosicky Apr 8, 2024
8638a2f
Ratis-2040. Fix RaftPeerId generated by command of "raftMetaConf" to …
DaveTeng0 Apr 10, 2024
49b4006
RATIS-1504. Add timeout handling to DataStreamManagement#checkSuccess…
szetszwo Apr 12, 2024
8913a99
RATIS-2056. Update purge index when snapshot installed. (#1065)
SzyWilliam Apr 12, 2024
cf9d229
RATIS-2057. Add back JavaUtils.attemptUntilTrue(..). (#1066)
szetszwo Apr 16, 2024
ee09075
RATIS-2059. Missing reference count when putting log entries to cache…
duongkame Apr 17, 2024
8704cd2
RATIS-2055. Move notifyTermIndexUpdated after leader.checkReady (#1068)
symious Apr 19, 2024
7f1b1b6
RATIS-2060 Avoid unexpected shutdown of RaftServerProxy during member…
OneSizeFitsQuorum Apr 25, 2024
b0ec114
RATIS-2061. Fix setCloseThreshold parameter in RaftServerConfigKeys (…
whbing Apr 26, 2024
1fe59e0
RATIS-2065. Avoid the out-of-heap memory OOM phenomenon of frequent c…
OneSizeFitsQuorum Apr 29, 2024
4e3eee7
RATIS-2069. RaftMetaConf command sets incorrect peerAddress pattern. …
sadanand48 May 3, 2024
51244e4
RATIS-2068. Avoid logging raw StateMachine data body. (#1074)
duongkame May 3, 2024
cbd9793
RATIS-2070. Skip push build for dependabot (#1077)
adoroszlai May 5, 2024
6fc4222
RATIS-2071. Bump Bouncy Castle to 1.78.1 (#1076)
dependabot[bot] May 5, 2024
5867192
RATIS-2072. Limit timeout of CI workflow jobs (#1078)
adoroszlai May 6, 2024
839f8fb
RATIS-2073. Enable Surefire process checkers (#1079)
adoroszlai May 6, 2024
3888520
RATIS-2067. Enhance content for concept in ratis-docs. (#1073)
OneSizeFitsQuorum May 7, 2024
ac05d64
RATIS-2074. Intermittent fork timeout in TestRaftWithNetty#testBasicA…
szetszwo May 7, 2024
e176501
RATIS-2078. Correct timeout unit for tests (#1083)
symious May 8, 2024
7a06fd8
[RATIS-2082] RaftPeers equal should also check address
AngersZhuuuu May 9, 2024
85a1626
Update LeaderElectionTests.java
AngersZhuuuu May 9, 2024
e2c015b
Update LeaderElectionTests.java
AngersZhuuuu May 9, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
74 changes: 43 additions & 31 deletions .github/workflows/post-commit.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,18 +14,23 @@
# limitations under the License.
name: build-branch
on:
- push
- pull_request
push:
branches-ignore:
- 'dependabot/**'
tags:
- '**'
pull_request:
env:
WITH_COVERAGE: true
jobs:
build:
runs-on: ubuntu-20.04
timeout-minutes: 30
steps:
- name: Checkout project
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Cache for maven dependencies
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: |
~/.m2/repository
Expand All @@ -34,22 +39,22 @@ jobs:
restore-keys: |
maven-repo-
- name: Setup java
uses: actions/setup-java@v3
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: 8
- name: Run a full build
run: ./dev-support/checks/build.sh -Prelease assembly:single
- name: Store binaries for tests
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: ratis-bin
path: |
ratis-assembly/target/apache-ratis-*.tar.gz
!ratis-assembly/target/apache-ratis-*-src.tar.gz
retention-days: 1
- name: Store source tarball for compilation
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: ratis-src
path: ratis-assembly/target/apache-ratis-*-src.tar.gz
Expand All @@ -58,20 +63,21 @@ jobs:
needs:
- build
runs-on: ubuntu-20.04
timeout-minutes: 30
strategy:
matrix:
java: [ 11 ]
fail-fast: false
steps:
- name: Download source tarball
uses: actions/download-artifact@v3
uses: actions/download-artifact@v4
with:
name: ratis-src
- name: Untar sources
run: |
tar --strip-components 1 -xzvf apache-ratis-*-src.tar.gz
- name: Cache for maven dependencies
uses: actions/cache/restore@v3
uses: actions/cache/restore@v4
with:
path: |
~/.m2/repository
Expand All @@ -80,7 +86,7 @@ jobs:
restore-keys: |
maven-repo-
- name: Setup java
uses: actions/setup-java@v3
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: ${{ matrix.java }}
Expand All @@ -89,11 +95,12 @@ jobs:
rat:
name: rat
runs-on: ubuntu-20.04
timeout-minutes: 15
steps:
- name: Checkout project
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Cache for maven dependencies
uses: actions/cache/restore@v3
uses: actions/cache/restore@v4
with:
path: |
~/.m2/repository
Expand All @@ -104,28 +111,30 @@ jobs:
- name: Run tests
run: ./dev-support/checks/rat.sh
- name: Upload results
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
if: always()
with:
name: rat
path: target/rat
author:
name: author
runs-on: ubuntu-20.04
timeout-minutes: 15
steps:
- name: Checkout project
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Run tests
run: ./dev-support/checks/author.sh
- name: Upload results
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
if: always()
with:
name: author
path: target/author
unit:
name: unit
runs-on: ubuntu-20.04
timeout-minutes: 60
strategy:
matrix:
profile:
Expand All @@ -140,9 +149,9 @@ jobs:
echo -e "$(ip addr show eth0 | grep "inet\b" | awk '{print $2}' | cut -d/ -f1)\t$(hostname -f) $(hostname -s)" | sudo tee -a /etc/hosts
# REMOVE CODE ABOVE WHEN ISSUE IS ADDRESSED!
- name: Checkout project
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Cache for maven dependencies
uses: actions/cache/restore@v3
uses: actions/cache/restore@v4
with:
path: |
~/.m2/repository
Expand All @@ -151,7 +160,7 @@ jobs:
restore-keys: |
maven-repo-
- name: Setup java
uses: actions/setup-java@v3
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: 8
Expand All @@ -161,19 +170,20 @@ jobs:
run: cat target/${{ github.job }}/summary.txt
if: ${{ !cancelled() }}
- name: Upload results
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
if: ${{ !cancelled() }}
with:
name: unit-${{ matrix.profile }}
path: target/unit
checkstyle:
name: checkstyle
runs-on: ubuntu-20.04
timeout-minutes: 15
steps:
- name: Checkout project
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Cache for maven dependencies
uses: actions/cache/restore@v3
uses: actions/cache/restore@v4
with:
path: |
~/.m2/repository
Expand All @@ -184,24 +194,25 @@ jobs:
- name: Run tests
run: ./dev-support/checks/checkstyle.sh
- name: Upload results
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
if: always()
with:
name: checkstyle
path: target/checkstyle
findbugs:
name: findbugs
runs-on: ubuntu-20.04
timeout-minutes: 30
steps:
- name: Setup java
uses: actions/setup-java@v3
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: 8
- name: Checkout project
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Cache for maven dependencies
uses: actions/cache/restore@v3
uses: actions/cache/restore@v4
with:
path: |
~/.m2/repository
Expand All @@ -212,7 +223,7 @@ jobs:
- name: Run tests
run: ./dev-support/checks/findbugs.sh
- name: Upload results
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
if: always()
with:
name: findbugs
Expand All @@ -222,14 +233,15 @@ jobs:
- build
- unit
runs-on: ubuntu-20.04
timeout-minutes: 30
if: (github.repository == 'apache/ratis' || github.repository == 'apache/incubator-ratis') && github.event_name != 'pull_request'
steps:
- name: Checkout project
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Cache for maven dependencies
uses: actions/cache/restore@v3
uses: actions/cache/restore@v4
with:
path: |
~/.m2/repository
Expand All @@ -238,12 +250,12 @@ jobs:
restore-keys: |
maven-repo-
- name: Setup java 17
uses: actions/setup-java@v3
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: 17
- name: Download artifacts
uses: actions/download-artifact@v3
uses: actions/download-artifact@v4
with:
path: target/artifacts
- name: Untar binaries
Expand All @@ -258,7 +270,7 @@ jobs:
SONAR_TOKEN: ${{ secrets.SONARCLOUD_TOKEN }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Archive build results
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
if: always()
with:
name: ${{ github.job }}
Expand Down
10 changes: 5 additions & 5 deletions .github/workflows/repeat-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -87,11 +87,11 @@ jobs:
split: ${{ fromJson(needs.prepare.outputs.matrix) }}
fail-fast: ${{ fromJson(github.event.inputs.fail-fast) }}
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
ref: ${{ github.event.inputs.ref }}
- name: Cache for maven dependencies
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: |
~/.m2/repository
Expand All @@ -100,7 +100,7 @@ jobs:
restore-keys: |
maven-repo-
- name: Setup java
uses: actions/setup-java@v3
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: 8
Expand All @@ -113,7 +113,7 @@ jobs:
run: dev-support/checks/_summary.sh target/unit/summary.txt
if: ${{ !cancelled() }}
- name: Archive build results
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
if: always()
with:
name: result-${{ env.TEST_CLASS }}-split-${{ matrix.split }}
Expand All @@ -124,7 +124,7 @@ jobs:
runs-on: ubuntu-20.04
steps:
- name: Download build results
uses: actions/download-artifact@v3
uses: actions/download-artifact@v4
- name: Count failures
run: |
failures=$(find . -name 'summary.txt' | grep -v 'iteration' | xargs grep -v 'exit code: 0' | wc -l)
Expand Down
11 changes: 2 additions & 9 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -176,7 +176,7 @@
<maven-checkstyle-plugin.version>3.3.0</maven-checkstyle-plugin.version>
<maven-clover2-plugin.version>4.0.6</maven-clover2-plugin.version>
<maven-pdf-plugin.version>1.6.1</maven-pdf-plugin.version>
<maven-surefire-plugin.version>3.0.0</maven-surefire-plugin.version>
<maven-surefire-plugin.version>3.0.0-M4</maven-surefire-plugin.version>
<wagon-ssh.version>3.5.3</wagon-ssh.version>


Expand Down Expand Up @@ -440,14 +440,6 @@
<version>6.0.53</version>
<scope>provided</scope>
</dependency>

<dependency>
<groupId>com.github.spotbugs</groupId>
<artifactId>spotbugs-annotations</artifactId>
<version>${spotbugs.version}</version>
<scope>provided</scope>
<optional>true</optional>
</dependency>
</dependencies>
</dependencyManagement>

Expand Down Expand Up @@ -642,6 +634,7 @@
<failIfNoSpecifiedTests>false</failIfNoSpecifiedTests>
<reuseForks>false</reuseForks>
<trimStackTrace>false</trimStackTrace>
<enableProcessChecker>all</enableProcessChecker>
<forkedProcessTimeoutInSeconds>600</forkedProcessTimeoutInSeconds>
<!-- @argLine is filled by jacoco maven plugin. @{} means late evaluation -->
<argLine>-Xmx2048m -XX:+HeapDumpOnOutOfMemoryError @{argLine}</argLine>
Expand Down
24 changes: 1 addition & 23 deletions ratis-assembly/src/main/resources/NOTICE
Original file line number Diff line number Diff line change
Expand Up @@ -292,27 +292,5 @@ networking library, which can be obtained at:
* HOMEPAGE:
* https://netty.io
* LOCATION_IN_GRPC:
* netty/third_party/netty
-----------------------------------------------------------------------
The JSR-305 reference implementation (jsr305.jar) is distributed under the terms of the New BSD:

Redistribution and use in source and binary forms, with or without modification,
are permitted provided that the following conditions are met:

1. Redistributions of source code must retain the above copyright notice,
this list of conditions and the following disclaimer.

2. Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation and/or
other materials provided with the distribution.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS
OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

* netty/third_party/netty
-----------------------------------------------------------------------
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,24 @@
*/
public interface SnapshotManagementApi {

/** trigger create snapshot file. */
RaftClientReply create(long timeoutMs) throws IOException;
/** The same as create(0, timeoutMs). */
default RaftClientReply create(long timeoutMs) throws IOException {
return create(0, timeoutMs);
}

/** The same as create(force? 1 : 0, timeoutMs). */
default RaftClientReply create(boolean force, long timeoutMs) throws IOException {
return create(force? 1 : 0, timeoutMs);
}

/**
* Trigger to create a snapshot.
*
* @param creationGap When (creationGap > 0) and (astAppliedIndex - lastSnapshotIndex < creationGap),
* return lastSnapshotIndex; otherwise, take a new snapshot and then return its index.
* When creationGap == 0, use the server configured value as the creationGap.
* @return a reply. When {@link RaftClientReply#isSuccess()} is true,
* {@link RaftClientReply#getLogIndex()} is the snapshot index fulfilling the operation.
*/
RaftClientReply create(long creationGap, long timeoutMs) throws IOException;
}
Loading