Skip to content

Commit 410c562

Browse files
Merge pull request #13756 from mszeszko-meta/backport_13609_to_10.4
10.4.2 Patch Release
2 parents 3df9173 + 49d0c21 commit 410c562

File tree

7 files changed

+81
-40
lines changed

7 files changed

+81
-40
lines changed

.github/workflows/pr-jobs.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -484,7 +484,7 @@ jobs:
484484
runs-on:
485485
labels: 4-core-ubuntu
486486
container:
487-
image: evolvedbinary/rocksjava:centos6_x64-be
487+
image: evolvedbinary/rocksjava:centos7_x64-be
488488
options: --shm-size=16gb
489489
steps:
490490
# The docker image is intentionally based on an OS that has an older GLIBC version.
@@ -512,7 +512,7 @@ jobs:
512512
runs-on:
513513
labels: 4-core-ubuntu
514514
container:
515-
image: evolvedbinary/rocksjava:centos6_x64-be
515+
image: evolvedbinary/rocksjava:centos7_x64-be
516516
options: --shm-size=16gb
517517
steps:
518518
# The docker image is intentionally based on an OS that has an older GLIBC version.
@@ -607,7 +607,7 @@ jobs:
607607
runs-on:
608608
labels: 4-core-ubuntu
609609
container:
610-
image: evolvedbinary/rocksjava:rockylinux8_x64-be
610+
image: evolvedbinary/rocksjava:alpine3_x64-be
611611
options: --shm-size=16gb
612612
steps:
613613
- uses: actions/[email protected]

HISTORY.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
11
# Rocksdb Change Log
22
> NOTE: Entries for next release do not go here. Follow instructions in `unreleased_history/README.txt`
33
4+
## 10.4.2 (07/09/2025)
5+
### Bug Fixes
6+
* Fix a race condition between concurrent DB::Open sharing the same SstFileManager instance.
7+
48
## 10.4.1 (07/01/2025)
59
### Behavior Changes
610
* RocksDB now triggers eligible compactions every 12 hours when periodic compaction is configured. This solves a limitation of the compaction trigger mechanism, which would only trigger compaction after specific events like flush, compaction, or SetOptions.

Makefile

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -2147,14 +2147,14 @@ ZLIB_DOWNLOAD_BASE ?= http://zlib.net
21472147
BZIP2_VER ?= 1.0.8
21482148
BZIP2_SHA256 ?= ab5a03176ee106d3f0fa90e381da478ddae405918153cca248e682cd0c4a2269
21492149
BZIP2_DOWNLOAD_BASE ?= http://sourceware.org/pub/bzip2
2150-
SNAPPY_VER ?= 1.2.1
2151-
SNAPPY_SHA256 ?= 736aeb64d86566d2236ddffa2865ee5d7a82d26c9016b36218fcc27ea4f09f86
2150+
SNAPPY_VER ?= 1.2.2
2151+
SNAPPY_SHA256 ?= 90f74bc1fbf78a6c56b3c4a082a05103b3a56bb17bca1a27e052ea11723292dc
21522152
SNAPPY_DOWNLOAD_BASE ?= https://github.com/google/snappy/archive
2153-
LZ4_VER ?= 1.9.4
2154-
LZ4_SHA256 ?= 0b0e3aa07c8c063ddf40b082bdf7e37a1562bda40a0ff5272957f3e987e0e54b
2153+
LZ4_VER ?= 1.10.0
2154+
LZ4_SHA256 ?= 537512904744b35e232912055ccf8ec66d768639ff3abe5788d90d792ec5f48b
21552155
LZ4_DOWNLOAD_BASE ?= https://github.com/lz4/lz4/archive
2156-
ZSTD_VER ?= 1.5.5
2157-
ZSTD_SHA256 ?= 98e9c3d949d1b924e28e01eccb7deed865eefebf25c2f21c702e5cd5b63b85e1
2156+
ZSTD_VER ?= 1.5.7
2157+
ZSTD_SHA256 ?= 37d7284556b20954e56e1ca85b80226768902e2edabd3b649e9e72c0c9012ee3
21582158
ZSTD_DOWNLOAD_BASE ?= https://github.com/facebook/zstd/archive
21592159
CURL_SSL_OPTS ?= --tlsv1
21602160

@@ -2375,47 +2375,47 @@ rocksdbjavastaticreleasedocker: rocksdbjavastaticosx rocksdbjavastaticdockerx86
23752375

23762376
rocksdbjavastaticdockerx86:
23772377
mkdir -p java/target
2378-
docker run --rm --name rocksdb_linux_x86-be --platform linux/386 --attach stdin --attach stdout --attach stderr --volume $(HOME)/.m2:/root/.m2:ro --volume `pwd`:/rocksdb-host:ro --volume /rocksdb-local-build --volume `pwd`/java/target:/rocksdb-java-target --env DEBUG_LEVEL=$(DEBUG_LEVEL) --env J=$(J) evolvedbinary/rocksjava:centos6_x86-be /rocksdb-host/java/crossbuild/docker-build-linux.sh
2378+
docker run --rm --name rocksdb_linux_x86-be --platform linux/386 --attach stdin --attach stdout --attach stderr --volume $(HOME)/.m2:/root/.m2:ro --volume `pwd`:/rocksdb-host:ro --volume /rocksdb-local-build --volume `pwd`/java/target:/rocksdb-java-target --env DEBUG_LEVEL=$(DEBUG_LEVEL) --env J=$(J) evolvedbinary/rocksjava:centos7_x86-be /rocksdb-host/java/crossbuild/docker-build-linux.sh
23792379

23802380
rocksdbjavastaticdockerx86_64:
23812381
mkdir -p java/target
2382-
docker run --rm --name rocksdb_linux_x64-be --attach stdin --attach stdout --attach stderr --volume $(HOME)/.m2:/root/.m2:ro --volume `pwd`:/rocksdb-host:ro --volume /rocksdb-local-build --volume `pwd`/java/target:/rocksdb-java-target --env DEBUG_LEVEL=$(DEBUG_LEVEL) --env J=$(J) evolvedbinary/rocksjava:centos6_x64-be /rocksdb-host/java/crossbuild/docker-build-linux.sh
2382+
docker run --rm --name rocksdb_linux_x64-be --platform linux/amd64 --attach stdin --attach stdout --attach stderr --volume $(HOME)/.m2:/root/.m2:ro --volume `pwd`:/rocksdb-host:ro --volume /rocksdb-local-build --volume `pwd`/java/target:/rocksdb-java-target --env DEBUG_LEVEL=$(DEBUG_LEVEL) --env J=$(J) evolvedbinary/rocksjava:centos7_x64-be /rocksdb-host/java/crossbuild/docker-build-linux.sh
23832383

23842384
rocksdbjavastaticdockerppc64le:
23852385
mkdir -p java/target
2386-
docker run --rm --name rocksdb_linux_ppc64le-be --attach stdin --attach stdout --attach stderr --volume $(HOME)/.m2:/root/.m2:ro --volume `pwd`:/rocksdb-host:ro --volume /rocksdb-local-build --volume `pwd`/java/target:/rocksdb-java-target --env DEBUG_LEVEL=$(DEBUG_LEVEL) --env J=$(J) evolvedbinary/rocksjava:centos7_ppc64le-be /rocksdb-host/java/crossbuild/docker-build-linux.sh
2386+
docker run --rm --name rocksdb_linux_ppc64le-be --platform linux/ppc64le --attach stdin --attach stdout --attach stderr --volume $(HOME)/.m2:/root/.m2:ro --volume `pwd`:/rocksdb-host:ro --volume /rocksdb-local-build --volume `pwd`/java/target:/rocksdb-java-target --env DEBUG_LEVEL=$(DEBUG_LEVEL) --env J=$(J) evolvedbinary/rocksjava:centos7_ppc64le-be /rocksdb-host/java/crossbuild/docker-build-linux.sh
23872387

23882388
rocksdbjavastaticdockerarm64v8:
23892389
mkdir -p java/target
2390-
docker run --rm --name rocksdb_linux_arm64v8-be --attach stdin --attach stdout --attach stderr --volume $(HOME)/.m2:/root/.m2:ro --volume `pwd`:/rocksdb-host:ro --volume /rocksdb-local-build --volume `pwd`/java/target:/rocksdb-java-target --env DEBUG_LEVEL=$(DEBUG_LEVEL) --env J=$(J) evolvedbinary/rocksjava:centos7_arm64v8-be /rocksdb-host/java/crossbuild/docker-build-linux.sh
2390+
docker run --rm --name rocksdb_linux_arm64v8-be --platform linux/aarch64 --attach stdin --attach stdout --attach stderr --volume $(HOME)/.m2:/root/.m2:ro --volume `pwd`:/rocksdb-host:ro --volume /rocksdb-local-build --volume `pwd`/java/target:/rocksdb-java-target --env DEBUG_LEVEL=$(DEBUG_LEVEL) --env J=$(J) evolvedbinary/rocksjava:centos7_arm64v8-be /rocksdb-host/java/crossbuild/docker-build-linux.sh
23912391

23922392
rocksdbjavastaticdockers390x:
23932393
mkdir -p java/target
2394-
docker run --rm --name rocksdb_linux_s390x-be --attach stdin --attach stdout --attach stderr --volume $(HOME)/.m2:/root/.m2:ro --volume `pwd`:/rocksdb-host:ro --volume /rocksdb-local-build --volume `pwd`/java/target:/rocksdb-java-target --env DEBUG_LEVEL=$(DEBUG_LEVEL) --env J=$(J) evolvedbinary/rocksjava:ubuntu18_s390x-be /rocksdb-host/java/crossbuild/docker-build-linux.sh
2394+
docker run --rm --name rocksdb_linux_s390x-be --platform linux/s390x --attach stdin --attach stdout --attach stderr --volume $(HOME)/.m2:/root/.m2:ro --volume `pwd`:/rocksdb-host:ro --volume /rocksdb-local-build --volume `pwd`/java/target:/rocksdb-java-target --env DEBUG_LEVEL=$(DEBUG_LEVEL) --env J=$(J) evolvedbinary/rocksjava:ubuntu18_s390x-be /rocksdb-host/java/crossbuild/docker-build-linux.sh
23952395

23962396
rocksdbjavastaticdockerriscv64:
23972397
mkdir -p java/target
2398-
docker run --rm --name rocksdb_linux_riscv64-be --attach stdin --attach stdout --attach stderr --volume $(HOME)/.m2:/root/.m2:ro --volume `pwd`:/rocksdb-host:ro --volume /rocksdb-local-build --volume `pwd`/java/target:/rocksdb-java-target --env DEBUG_LEVEL=$(DEBUG_LEVEL) --env J=$(J) evolvedbinary/rocksjava:ubuntu20_riscv64-be /rocksdb-host/java/crossbuild/docker-build-linux.sh
2398+
docker run --rm --name rocksdb_linux_riscv64-be --platform linux/riscv64 --attach stdin --attach stdout --attach stderr --volume $(HOME)/.m2:/root/.m2:ro --volume `pwd`:/rocksdb-host:ro --volume /rocksdb-local-build --volume `pwd`/java/target:/rocksdb-java-target --env DEBUG_LEVEL=$(DEBUG_LEVEL) --env J=$(J) evolvedbinary/rocksjava:ubuntu20_riscv64-be /rocksdb-host/java/crossbuild/docker-build-linux.sh
23992399

24002400
rocksdbjavastaticdockerx86musl:
24012401
mkdir -p java/target
24022402
docker run --rm --name rocksdb_linux_x86-musl-be --platform linux/386 --attach stdin --attach stdout --attach stderr --volume $(HOME)/.m2:/root/.m2:ro --volume `pwd`:/rocksdb-host:ro --volume /rocksdb-local-build --volume `pwd`/java/target:/rocksdb-java-target --env DEBUG_LEVEL=$(DEBUG_LEVEL) --env J=$(J) evolvedbinary/rocksjava:alpine3_x86-be /rocksdb-host/java/crossbuild/docker-build-linux.sh
24032403

24042404
rocksdbjavastaticdockerx86_64musl:
24052405
mkdir -p java/target
2406-
docker run --rm --name rocksdb_linux_x64-musl-be --attach stdin --attach stdout --attach stderr --volume $(HOME)/.m2:/root/.m2:ro --volume `pwd`:/rocksdb-host:ro --volume /rocksdb-local-build --volume `pwd`/java/target:/rocksdb-java-target --env DEBUG_LEVEL=$(DEBUG_LEVEL) --env J=$(J) evolvedbinary/rocksjava:alpine3_x64-be /rocksdb-host/java/crossbuild/docker-build-linux.sh
2406+
docker run --rm --name rocksdb_linux_x64-musl-be --platform linux/amd64 --attach stdin --attach stdout --attach stderr --volume $(HOME)/.m2:/root/.m2:ro --volume `pwd`:/rocksdb-host:ro --volume /rocksdb-local-build --volume `pwd`/java/target:/rocksdb-java-target --env DEBUG_LEVEL=$(DEBUG_LEVEL) --env J=$(J) evolvedbinary/rocksjava:alpine3_x64-be /rocksdb-host/java/crossbuild/docker-build-linux.sh
24072407

24082408
rocksdbjavastaticdockerppc64lemusl:
24092409
mkdir -p java/target
2410-
docker run --rm --name rocksdb_linux_ppc64le-musl-be --attach stdin --attach stdout --attach stderr --volume $(HOME)/.m2:/root/.m2:ro --volume `pwd`:/rocksdb-host:ro --volume /rocksdb-local-build --volume `pwd`/java/target:/rocksdb-java-target --env DEBUG_LEVEL=$(DEBUG_LEVEL) --env J=$(J) evolvedbinary/rocksjava:alpine3_ppc64le-be /rocksdb-host/java/crossbuild/docker-build-linux.sh
2410+
docker run --rm --name rocksdb_linux_ppc64le-musl-be --platform linux/ppc64le --attach stdin --attach stdout --attach stderr --volume $(HOME)/.m2:/root/.m2:ro --volume `pwd`:/rocksdb-host:ro --volume /rocksdb-local-build --volume `pwd`/java/target:/rocksdb-java-target --env DEBUG_LEVEL=$(DEBUG_LEVEL) --env J=$(J) evolvedbinary/rocksjava:alpine3_ppc64le-be /rocksdb-host/java/crossbuild/docker-build-linux.sh
24112411

24122412
rocksdbjavastaticdockerarm64v8musl:
24132413
mkdir -p java/target
2414-
docker run --rm --name rocksdb_linux_arm64v8-musl-be --attach stdin --attach stdout --attach stderr --volume $(HOME)/.m2:/root/.m2:ro --volume `pwd`:/rocksdb-host:ro --volume /rocksdb-local-build --volume `pwd`/java/target:/rocksdb-java-target --env DEBUG_LEVEL=$(DEBUG_LEVEL) --env J=$(J) evolvedbinary/rocksjava:alpine3_arm64v8-be /rocksdb-host/java/crossbuild/docker-build-linux.sh
2414+
docker run --rm --name rocksdb_linux_arm64v8-musl-be --platform linux/aarch64 --attach stdin --attach stdout --attach stderr --volume $(HOME)/.m2:/root/.m2:ro --volume `pwd`:/rocksdb-host:ro --volume /rocksdb-local-build --volume `pwd`/java/target:/rocksdb-java-target --env DEBUG_LEVEL=$(DEBUG_LEVEL) --env J=$(J) evolvedbinary/rocksjava:alpine3_arm64v8-be /rocksdb-host/java/crossbuild/docker-build-linux.sh
24152415

24162416
rocksdbjavastaticdockers390xmusl:
24172417
mkdir -p java/target
2418-
docker run --rm --name rocksdb_linux_s390x-musl-be --attach stdin --attach stdout --attach stderr --volume $(HOME)/.m2:/root/.m2:ro --volume `pwd`:/rocksdb-host:ro --volume /rocksdb-local-build --volume `pwd`/java/target:/rocksdb-java-target --env DEBUG_LEVEL=$(DEBUG_LEVEL) --env J=$(J) evolvedbinary/rocksjava:alpine3_s390x-be /rocksdb-host/java/crossbuild/docker-build-linux.sh
2418+
docker run --rm --name rocksdb_linux_s390x-musl-be --platform linux/s390x --attach stdin --attach stdout --attach stderr --volume $(HOME)/.m2:/root/.m2:ro --volume `pwd`:/rocksdb-host:ro --volume /rocksdb-local-build --volume `pwd`/java/target:/rocksdb-java-target --env DEBUG_LEVEL=$(DEBUG_LEVEL) --env J=$(J) evolvedbinary/rocksjava:alpine3_s390x-be /rocksdb-host/java/crossbuild/docker-build-linux.sh
24192419

24202420
rocksdbjavastaticpublish: rocksdbjavastaticrelease rocksdbjavastaticpublishcentral
24212421

@@ -2470,8 +2470,8 @@ jtest_run:
24702470
jtest: rocksdbjava
24712471
cd java;$(MAKE) sample test
24722472

2473-
jpmd: rocksdbjava rocksdbjavageneratepom
2474-
cd java;$(MAKE) pmd
2473+
jpmd: rocksdbjavageneratepom
2474+
cd java;$(MAKE) java java_test pmd
24752475

24762476
jdb_bench:
24772477
cd java;$(MAKE) db_bench;

file/sst_file_manager_impl.h

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -162,7 +162,6 @@ class SstFileManagerImpl : public SstFileManager {
162162
void Close();
163163

164164
void SetStatisticsPtr(const std::shared_ptr<Statistics>& stats) override {
165-
stats_ = stats;
166165
delete_scheduler_.SetStatisticsPtr(stats);
167166
}
168167

@@ -216,7 +215,6 @@ class SstFileManagerImpl : public SstFileManager {
216215
std::list<ErrorHandler*> error_handler_list_;
217216
// Pointer to ErrorHandler instance that is currently processing recovery
218217
ErrorHandler* cur_instance_;
219-
std::shared_ptr<Statistics> stats_;
220218
};
221219

222220
} // namespace ROCKSDB_NAMESPACE

include/rocksdb/version.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
// minor or major version number planned for release.
1414
#define ROCKSDB_MAJOR 10
1515
#define ROCKSDB_MINOR 4
16-
#define ROCKSDB_PATCH 1
16+
#define ROCKSDB_PATCH 2
1717

1818
// Do not use these. We made the mistake of declaring macros starting with
1919
// double underscore. Now we have to live with our choice. We'll deprecate these

java/src/main/java/org/rocksdb/NativeLibraryLoader.java

Lines changed: 33 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,14 @@ public class NativeLibraryLoader {
3030
private static final String tempFilePrefix = "librocksdbjni";
3131
private static final String tempFileSuffix = Environment.getJniLibraryExtension();
3232

33+
/**
34+
* If you set the System Property ROCKS_JAVA_DEBUG_NLL can be to true
35+
* messages about attempts to load the native library will be printed
36+
* to std out.
37+
*/
38+
private static boolean DEBUG_LOADING =
39+
"true".equals(System.getProperty("ROCKS_JAVA_DEBUG_NLL", "false"));
40+
3341
/**
3442
* Get a reference to the NativeLibraryLoader
3543
*
@@ -55,14 +63,17 @@ public static NativeLibraryLoader getInstance() {
5563
*
5664
* @throws java.io.IOException if a filesystem operation fails.
5765
*/
58-
@SuppressWarnings("PMD.EmptyCatchBlock")
66+
@SuppressWarnings({"PMD.EmptyCatchBlock", "PMD.SystemPrintln"})
5967
public synchronized void loadLibrary(final String tmpDir) throws IOException {
6068
try {
6169
// try dynamic library
6270
System.loadLibrary(sharedLibraryName);
6371
return;
6472
} catch (final UnsatisfiedLinkError ule) {
6573
// ignore - try from static library
74+
if (DEBUG_LOADING) {
75+
System.out.println("Unable to load shared dynamic library: " + sharedLibraryName);
76+
}
6677
}
6778

6879
try {
@@ -71,6 +82,9 @@ public synchronized void loadLibrary(final String tmpDir) throws IOException {
7182
return;
7283
} catch (final UnsatisfiedLinkError ule) {
7384
// ignore - then try static library fallback or from jar
85+
if (DEBUG_LOADING) {
86+
System.out.println("Unable to load shared static library: " + jniLibraryName);
87+
}
7488
}
7589

7690
if (fallbackJniLibraryName != null) {
@@ -80,6 +94,10 @@ public synchronized void loadLibrary(final String tmpDir) throws IOException {
8094
return;
8195
} catch (final UnsatisfiedLinkError ule) {
8296
// ignore - then try from jar
97+
if (DEBUG_LOADING) {
98+
System.out.println(
99+
"Unable to load shared static fallback library: " + fallbackJniLibraryName);
100+
}
83101
}
84102
}
85103

@@ -137,18 +155,23 @@ private File createTemp(final String tmpDir, final String libraryFileName) throw
137155
}
138156
}
139157

140-
@SuppressWarnings({"PMD.UseProperClassLoader", "PMD.UseTryWithResources"})
158+
@SuppressWarnings({"PMD.UseProperClassLoader", "PMD.UseTryWithResources", "PMD.SystemPrintln"})
141159
File loadLibraryFromJarToTemp(final String tmpDir) throws IOException {
142160
try (InputStream is = getClass().getClassLoader().getResourceAsStream(jniLibraryFileName)) {
143161
if (is != null) {
144162
final File temp = createTemp(tmpDir, jniLibraryFileName);
145163
Files.copy(is, temp.toPath(), StandardCopyOption.REPLACE_EXISTING);
146164
return temp;
165+
} else {
166+
if (DEBUG_LOADING) {
167+
System.out.println("Unable to find: " + jniLibraryFileName + " on the classpath");
168+
}
147169
}
148170
}
149171

150172
if (fallbackJniLibraryFileName == null) {
151-
throw new RuntimeException(fallbackJniLibraryFileName + " was not found inside JAR.");
173+
throw new RuntimeException(
174+
jniLibraryFileName + " was not found inside JAR, and there is no fallback.");
152175
}
153176

154177
try (InputStream is =
@@ -157,10 +180,16 @@ File loadLibraryFromJarToTemp(final String tmpDir) throws IOException {
157180
final File temp = createTemp(tmpDir, fallbackJniLibraryFileName);
158181
Files.copy(is, temp.toPath(), StandardCopyOption.REPLACE_EXISTING);
159182
return temp;
183+
} else {
184+
if (DEBUG_LOADING) {
185+
System.out.println(
186+
"Unable to find fallback: " + fallbackJniLibraryFileName + " on the classpath");
187+
}
160188
}
161189
}
162190

163-
throw new RuntimeException(jniLibraryFileName + " was not found inside JAR.");
191+
throw new RuntimeException("Neither " + jniLibraryFileName + " or " + fallbackJniLibraryFileName
192+
+ " were found inside the JAR, and there is no fallback.");
164193
}
165194

166195
/**

java/src/main/java/org/rocksdb/RocksDB.java

Lines changed: 22 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -84,13 +84,7 @@ public static void loadLibrary() {
8484
return;
8585
}
8686

87-
while (libraryLoaded.get() == LibraryState.LOADING) {
88-
try {
89-
Thread.sleep(10);
90-
} catch(final InterruptedException e) {
91-
//ignore
92-
}
93-
}
87+
waitForLibraryToBeLoaded();
9488
}
9589

9690
/**
@@ -146,12 +140,28 @@ public static void loadLibrary(final List<String> paths) {
146140
return;
147141
}
148142

149-
while (libraryLoaded.get() == LibraryState.LOADING) {
150-
try {
151-
Thread.sleep(10);
152-
} catch(final InterruptedException e) {
153-
//ignore
143+
waitForLibraryToBeLoaded();
144+
}
145+
146+
private static void waitForLibraryToBeLoaded() {
147+
final long wait = 10; // Time to wait before re-checking if another thread loaded the library
148+
final long timeout =
149+
10 * 1000; // Maximum time to wait for another thread to load the library (10 seconds)
150+
long waited = 0;
151+
try {
152+
while (libraryLoaded.get() == LibraryState.LOADING) {
153+
Thread.sleep(wait);
154+
waited += wait;
155+
156+
if (waited >= timeout) {
157+
throw new RuntimeException(
158+
"Exceeded timeout whilst trying to load the RocksDB shared library");
159+
}
154160
}
161+
} catch (final InterruptedException e) {
162+
// restore interrupted status
163+
Thread.currentThread().interrupt();
164+
throw new RuntimeException("Interrupted whilst trying to load the RocksDB shared library", e);
155165
}
156166
}
157167

0 commit comments

Comments
 (0)