From cb83c178113b6869de7aad6fb1fb16d81687f076 Mon Sep 17 00:00:00 2001 From: Andrea Cavalli Date: Wed, 30 Mar 2022 18:36:07 +0200 Subject: [PATCH] Bugfixes --- .../database/disk/AbstractRocksDBColumn.java | 6 +++--- .../database/disk/OptimisticRocksDBColumn.java | 17 +++++++++++++++-- 2 files changed, 18 insertions(+), 5 deletions(-) diff --git a/src/main/java/it/cavallium/dbengine/database/disk/AbstractRocksDBColumn.java b/src/main/java/it/cavallium/dbengine/database/disk/AbstractRocksDBColumn.java index ef9498f..b6e2087 100644 --- a/src/main/java/it/cavallium/dbengine/database/disk/AbstractRocksDBColumn.java +++ b/src/main/java/it/cavallium/dbengine/database/disk/AbstractRocksDBColumn.java @@ -69,7 +69,8 @@ public sealed abstract class AbstractRocksDBColumn implements private final BufferAllocator alloc; private final ColumnFamilyHandle cfh; - private final MeterRegistry meterRegistry; + protected final MeterRegistry meterRegistry; + protected final String columnName; protected final DistributionSummary keyBufferSize; protected final DistributionSummary readValueNotFoundWithoutBloomBufferSize; @@ -99,14 +100,13 @@ public sealed abstract class AbstractRocksDBColumn implements this.nettyDirect = opts.allowNettyDirect() && alloc.getAllocationType() == OFF_HEAP; this.alloc = alloc; this.cfh = cfh; - String columnName; try { columnName = new String(cfh.getName(), StandardCharsets.UTF_8); } catch (RocksDBException e) { throw new IllegalStateException(e); } - + this.columnName = columnName; this.meterRegistry = meterRegistry; this.keyBufferSize = DistributionSummary diff --git a/src/main/java/it/cavallium/dbengine/database/disk/OptimisticRocksDBColumn.java b/src/main/java/it/cavallium/dbengine/database/disk/OptimisticRocksDBColumn.java index d8611de..ec64754 100644 --- a/src/main/java/it/cavallium/dbengine/database/disk/OptimisticRocksDBColumn.java +++ b/src/main/java/it/cavallium/dbengine/database/disk/OptimisticRocksDBColumn.java @@ -2,6 +2,7 @@ package it.cavallium.dbengine.database.disk; import static it.cavallium.dbengine.database.LLUtils.MARKER_ROCKSDB; +import io.micrometer.core.instrument.DistributionSummary; import io.micrometer.core.instrument.MeterRegistry; import io.netty5.buffer.api.Buffer; import io.netty5.buffer.api.BufferAllocator; @@ -20,6 +21,7 @@ import org.jetbrains.annotations.Nullable; import org.rocksdb.ColumnFamilyHandle; import org.rocksdb.OptimisticTransactionDB; import org.rocksdb.ReadOptions; +import org.rocksdb.RocksDB; import org.rocksdb.RocksDBException; import org.rocksdb.Status.Code; import org.rocksdb.Transaction; @@ -31,13 +33,23 @@ public final class OptimisticRocksDBColumn extends AbstractRocksDBColumn 5) { logger.warn(MARKER_ROCKSDB, "Took {} retries to update key {}", retries, LLUtils.toStringSafe(key)); } + optimisticAttempts.record(retries); return switch (returnMode) { case NOTHING -> { if (sentPrevData != null) {