diff --git a/plugins/rocksdb/src/main/java/org/hyperledger/besu/plugin/services/storage/rocksdb/RocksDBMetricsFactory.java b/plugins/rocksdb/src/main/java/org/hyperledger/besu/plugin/services/storage/rocksdb/RocksDBMetricsFactory.java index 0a6490c9a27..68c2097ec71 100644 --- a/plugins/rocksdb/src/main/java/org/hyperledger/besu/plugin/services/storage/rocksdb/RocksDBMetricsFactory.java +++ b/plugins/rocksdb/src/main/java/org/hyperledger/besu/plugin/services/storage/rocksdb/RocksDBMetricsFactory.java @@ -23,9 +23,9 @@ import org.hyperledger.besu.plugin.services.metrics.OperationTimer; import org.hyperledger.besu.plugin.services.storage.rocksdb.configuration.RocksDBConfiguration; -import org.rocksdb.OptimisticTransactionDB; import org.rocksdb.RocksDBException; import org.rocksdb.Statistics; +import org.rocksdb.TransactionDB; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -54,7 +54,7 @@ public RocksDBMetricsFactory( public RocksDBMetrics create( final MetricsSystem metricsSystem, final RocksDBConfiguration rocksDbConfiguration, - final OptimisticTransactionDB db, + final TransactionDB db, final Statistics stats) { final OperationTimer readLatency = metricsSystem diff --git a/plugins/rocksdb/src/main/java/org/hyperledger/besu/plugin/services/storage/rocksdb/segmented/RocksDBColumnarKeyValueStorage.java b/plugins/rocksdb/src/main/java/org/hyperledger/besu/plugin/services/storage/rocksdb/segmented/RocksDBColumnarKeyValueStorage.java index 63148e17a7a..181eebef0e1 100644 --- a/plugins/rocksdb/src/main/java/org/hyperledger/besu/plugin/services/storage/rocksdb/segmented/RocksDBColumnarKeyValueStorage.java +++ b/plugins/rocksdb/src/main/java/org/hyperledger/besu/plugin/services/storage/rocksdb/segmented/RocksDBColumnarKeyValueStorage.java @@ -49,11 +49,11 @@ import org.rocksdb.DBOptions; import org.rocksdb.Env; import org.rocksdb.LRUCache; -import org.rocksdb.OptimisticTransactionDB; import org.rocksdb.RocksDBException; import org.rocksdb.RocksIterator; import org.rocksdb.Statistics; import org.rocksdb.Status; +import org.rocksdb.TransactionDB; import org.rocksdb.TransactionDBOptions; import org.rocksdb.WriteOptions; import org.slf4j.Logger; @@ -72,7 +72,7 @@ public class RocksDBColumnarKeyValueStorage private final DBOptions options; private final TransactionDBOptions txOptions; - private final OptimisticTransactionDB db; + private final TransactionDB db; private final AtomicBoolean closed = new AtomicBoolean(false); private final Map columnHandlesByName; private final RocksDBMetrics metrics; @@ -114,8 +114,12 @@ public RocksDBColumnarKeyValueStorage( txOptions = new TransactionDBOptions(); final List columnHandles = new ArrayList<>(columnDescriptors.size()); db = - OptimisticTransactionDB.open( - options, configuration.getDatabaseDir().toString(), columnDescriptors, columnHandles); + TransactionDB.open( + options, + txOptions, + configuration.getDatabaseDir().toString(), + columnDescriptors, + columnHandles); metrics = rocksDBMetricsFactory.create(metricsSystem, configuration, db, stats); final Map segmentsById = segments.stream() diff --git a/plugins/rocksdb/src/main/java/org/hyperledger/besu/plugin/services/storage/rocksdb/unsegmented/RocksDBKeyValueStorage.java b/plugins/rocksdb/src/main/java/org/hyperledger/besu/plugin/services/storage/rocksdb/unsegmented/RocksDBKeyValueStorage.java index 22d79cf2d60..9eaa47d4569 100644 --- a/plugins/rocksdb/src/main/java/org/hyperledger/besu/plugin/services/storage/rocksdb/unsegmented/RocksDBKeyValueStorage.java +++ b/plugins/rocksdb/src/main/java/org/hyperledger/besu/plugin/services/storage/rocksdb/unsegmented/RocksDBKeyValueStorage.java @@ -36,12 +36,13 @@ import org.rocksdb.BlockBasedTableConfig; import org.rocksdb.LRUCache; -import org.rocksdb.OptimisticTransactionDB; import org.rocksdb.Options; import org.rocksdb.RocksDBException; import org.rocksdb.RocksIterator; import org.rocksdb.Statistics; import org.rocksdb.Status; +import org.rocksdb.TransactionDB; +import org.rocksdb.TransactionDBOptions; import org.rocksdb.WriteOptions; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -55,7 +56,7 @@ public class RocksDBKeyValueStorage implements KeyValueStorage { private static final Logger LOG = LoggerFactory.getLogger(RocksDBKeyValueStorage.class); private final Options options; - private final OptimisticTransactionDB db; + private final TransactionDB db; private final AtomicBoolean closed = new AtomicBoolean(false); private final RocksDBMetrics rocksDBMetrics; private final WriteOptions tryDeleteOptions = new WriteOptions().setNoSlowdown(true); @@ -76,7 +77,9 @@ public RocksDBKeyValueStorage( .setStatistics(stats); options.getEnv().setBackgroundThreads(configuration.getBackgroundThreadCount()); - db = OptimisticTransactionDB.open(options, configuration.getDatabaseDir().toString()); + db = + TransactionDB.open( + options, new TransactionDBOptions(), configuration.getDatabaseDir().toString()); rocksDBMetrics = rocksDBMetricsFactory.create(metricsSystem, configuration, db, stats); } catch (final RocksDBException e) { throw new StorageException(e); diff --git a/plugins/rocksdb/src/test/java/org/hyperledger/besu/plugin/services/storage/rocksdb/RocksDBMetricsTest.java b/plugins/rocksdb/src/test/java/org/hyperledger/besu/plugin/services/storage/rocksdb/RocksDBMetricsTest.java index 960f11c5a17..ddcf58e4c22 100644 --- a/plugins/rocksdb/src/test/java/org/hyperledger/besu/plugin/services/storage/rocksdb/RocksDBMetricsTest.java +++ b/plugins/rocksdb/src/test/java/org/hyperledger/besu/plugin/services/storage/rocksdb/RocksDBMetricsTest.java @@ -39,8 +39,8 @@ import org.mockito.ArgumentCaptor; import org.mockito.Mock; import org.mockito.junit.MockitoJUnitRunner; -import org.rocksdb.OptimisticTransactionDB; import org.rocksdb.Statistics; +import org.rocksdb.TransactionDB; @RunWith(MockitoJUnitRunner.class) public class RocksDBMetricsTest { @@ -49,7 +49,7 @@ public class RocksDBMetricsTest { @Mock private LabelledMetric labelledMetricOperationTimerMock; @Mock private LabelledMetric labelledMetricCounterMock; @Mock private OperationTimer operationTimerMock; - @Mock private OptimisticTransactionDB db; + @Mock private TransactionDB db; @Mock private Statistics stats; @Rule public final TemporaryFolder folder = new TemporaryFolder();