This is an automated email from the ASF dual-hosted git repository.
jark pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/fluss.git
The following commit(s) were added to refs/heads/main by this push:
new 780a32f3 [kv] Upgrade rocksdb to community version 10.2.1 (#1338)
780a32f3 is described below
commit 780a32f385014f65e114dc1efdce5c64b2d191a9
Author: Yang Wang <[email protected]>
AuthorDate: Thu Jul 17 10:24:04 2025 +0800
[kv] Upgrade rocksdb to community version 10.2.1 (#1338)
Co-authored-by: ocean.wy <[email protected]>
---
fluss-client/src/main/resources/META-INF/NOTICE | 2 +-
fluss-common/pom.xml | 4 ++--
.../main/java/com/alibaba/fluss/rocksdb/RocksIteratorWrapper.java | 7 +++++++
.../fluss/server/kv/snapshot/RocksIncrementalSnapshot.java | 6 +++++-
fluss-server/src/main/resources/META-INF/NOTICE | 2 +-
.../fluss/server/kv/rocksdb/RocksDBOperationsUtilsTest.java | 5 ++++-
pom.xml | 8 ++++----
7 files changed, 24 insertions(+), 10 deletions(-)
diff --git a/fluss-client/src/main/resources/META-INF/NOTICE
b/fluss-client/src/main/resources/META-INF/NOTICE
index fd48d55f..71a00647 100644
--- a/fluss-client/src/main/resources/META-INF/NOTICE
+++ b/fluss-client/src/main/resources/META-INF/NOTICE
@@ -7,9 +7,9 @@ The Apache Software Foundation (http://www.apache.org/).
This project bundles the following dependencies under the Apache Software
License 2.0 (http://www.apache.org/licenses/LICENSE-2.0.txt)
- com.google.code.findbugs:jsr305:1.3.9
-- com.ververica:frocksdbjni:6.20.3-ververica-2.0
- org.apache.commons:commons-lang3:3.18.0
- org.apache.commons:commons-math3:3.6.1
+- org.rocksdb:rocksdbjni:10.2.1
- org.lz4:lz4-java:1.8.0
This project bundles the following dependencies under the MIT
(https://opensource.org/licenses/MIT)
diff --git a/fluss-common/pom.xml b/fluss-common/pom.xml
index 18124679..ef119eeb 100644
--- a/fluss-common/pom.xml
+++ b/fluss-common/pom.xml
@@ -80,8 +80,8 @@
the rocksdb should be provided as a kv plugin to used by client &
server.
-->
<dependency>
- <groupId>com.ververica</groupId>
- <artifactId>frocksdbjni</artifactId>
+ <groupId>org.rocksdb</groupId>
+ <artifactId>rocksdbjni</artifactId>
</dependency>
<!-- test dependencies -->
diff --git
a/fluss-common/src/main/java/com/alibaba/fluss/rocksdb/RocksIteratorWrapper.java
b/fluss-common/src/main/java/com/alibaba/fluss/rocksdb/RocksIteratorWrapper.java
index 56ef668e..1c046b05 100644
---
a/fluss-common/src/main/java/com/alibaba/fluss/rocksdb/RocksIteratorWrapper.java
+++
b/fluss-common/src/main/java/com/alibaba/fluss/rocksdb/RocksIteratorWrapper.java
@@ -20,6 +20,7 @@ package com.alibaba.fluss.rocksdb;
import org.rocksdb.RocksDBException;
import org.rocksdb.RocksIterator;
import org.rocksdb.RocksIteratorInterface;
+import org.rocksdb.Snapshot;
import javax.annotation.Nonnull;
@@ -126,4 +127,10 @@ public class RocksIteratorWrapper implements
RocksIteratorInterface, Closeable {
public void close() {
iterator.close();
}
+
+ @Override
+ public void refresh(Snapshot snapshot) throws RocksDBException {
+ iterator.refresh(snapshot);
+ status();
+ }
}
diff --git
a/fluss-server/src/main/java/com/alibaba/fluss/server/kv/snapshot/RocksIncrementalSnapshot.java
b/fluss-server/src/main/java/com/alibaba/fluss/server/kv/snapshot/RocksIncrementalSnapshot.java
index 34424987..aab646e3 100644
---
a/fluss-server/src/main/java/com/alibaba/fluss/server/kv/snapshot/RocksIncrementalSnapshot.java
+++
b/fluss-server/src/main/java/com/alibaba/fluss/server/kv/snapshot/RocksIncrementalSnapshot.java
@@ -58,6 +58,9 @@ public class RocksIncrementalSnapshot implements
AutoCloseable {
/** File suffix of sstable files. */
public static final String SST_FILE_SUFFIX = ".sst";
+ /** File suffix of wal files. */
+ public static final String WAL_FILE_SUFFIX = ".log";
+
/** RocksDB instance from the backend. */
@Nonnull protected RocksDB db;
@@ -293,7 +296,8 @@ public class RocksIncrementalSnapshot implements
AutoCloseable {
} else {
sstFilePaths.add(filePath); // re-upload
}
- } else {
+ } else if (!fileName.endsWith(WAL_FILE_SUFFIX)) {
+ // the wal files are always empty and should be ignored
miscFilePaths.add(filePath);
}
}
diff --git a/fluss-server/src/main/resources/META-INF/NOTICE
b/fluss-server/src/main/resources/META-INF/NOTICE
index fb2b8a31..3eed5162 100644
--- a/fluss-server/src/main/resources/META-INF/NOTICE
+++ b/fluss-server/src/main/resources/META-INF/NOTICE
@@ -9,11 +9,11 @@ This project bundles the following dependencies under the
Apache Software Licens
- com.github.ben-manes.caffeine:caffeine:2.9.3
- com.google.code.findbugs:jsr305:1.3.9
- com.google.errorprone:error_prone_annotations:2.10.0
-- com.ververica:frocksdbjni:6.20.3-ververica-2.0
- commons-cli:commons-cli:1.5.0
- org.apache.commons:commons-lang3:3.18.0
- org.apache.commons:commons-math3:3.6.1
- org.lz4:lz4-java:1.8.0
+- org.rocksdb:rocksdbjni:10.2.1
- org.xerial.snappy:snappy-java:1.1.10.4
This project bundles the following dependencies under the MIT
(https://opensource.org/licenses/MIT)
diff --git
a/fluss-server/src/test/java/com/alibaba/fluss/server/kv/rocksdb/RocksDBOperationsUtilsTest.java
b/fluss-server/src/test/java/com/alibaba/fluss/server/kv/rocksdb/RocksDBOperationsUtilsTest.java
index c6522751..230a9a31 100644
---
a/fluss-server/src/test/java/com/alibaba/fluss/server/kv/rocksdb/RocksDBOperationsUtilsTest.java
+++
b/fluss-server/src/test/java/com/alibaba/fluss/server/kv/rocksdb/RocksDBOperationsUtilsTest.java
@@ -21,6 +21,7 @@ import com.alibaba.fluss.rocksdb.RocksDBOperationUtils;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.io.TempDir;
+import org.rocksdb.ColumnFamilyDescriptor;
import org.rocksdb.DBOptions;
import org.rocksdb.RocksDB;
import org.rocksdb.RocksDBException;
@@ -48,7 +49,9 @@ class RocksDBOperationsUtilsTest {
RocksDB rocks =
RocksDBOperationUtils.openDB(
rocksDir.getAbsolutePath(),
- Collections.emptyList(),
+ Collections.singletonList(
+ new
ColumnFamilyDescriptor(
+
RocksDB.DEFAULT_COLUMN_FAMILY)),
Collections.emptyList(),
dbOptions,
false);
diff --git a/pom.xml b/pom.xml
index 8527f599..9ebfbc27 100644
--- a/pom.xml
+++ b/pom.xml
@@ -101,7 +101,7 @@
<paimon.version>1.0.1</paimon.version>
<fluss.hadoop.version>2.10.2</fluss.hadoop.version>
- <frocksdb.version>6.20.3-ververica-2.0</frocksdb.version>
+ <rocksdb.version>10.2.1</rocksdb.version>
<slf4j.version>1.7.36</slf4j.version>
<log4j.version>2.17.1</log4j.version>
<jaxb.api.version>2.3.1</jaxb.api.version>
@@ -342,9 +342,9 @@
</dependency>
<dependency>
- <groupId>com.ververica</groupId>
- <artifactId>frocksdbjni</artifactId>
- <version>${frocksdb.version}</version>
+ <groupId>org.rocksdb</groupId>
+ <artifactId>rocksdbjni</artifactId>
+ <version>${rocksdb.version}</version>
</dependency>
<dependency>