Objects: remove lockmanager

This commit is contained in:
2025-05-07 11:18:52 +02:00
parent 52ccbb99bc
commit 469a6b9011
4 changed files with 4 additions and 31 deletions

View File

@@ -6,6 +6,7 @@ import com.usatiuk.objects.JObjectKey;
import com.usatiuk.objects.snapshot.Snapshot; import com.usatiuk.objects.snapshot.Snapshot;
import com.usatiuk.objects.stores.WritebackObjectPersistentStore; import com.usatiuk.objects.stores.WritebackObjectPersistentStore;
import com.usatiuk.utils.AutoCloseableNoThrow; import com.usatiuk.utils.AutoCloseableNoThrow;
import com.usatiuk.utils.DataLocker;
import io.quarkus.logging.Log; import io.quarkus.logging.Log;
import io.quarkus.runtime.StartupEvent; import io.quarkus.runtime.StartupEvent;
import jakarta.annotation.Priority; import jakarta.annotation.Priority;
@@ -27,9 +28,9 @@ public class JObjectManager {
WritebackObjectPersistentStore writebackObjectPersistentStore; WritebackObjectPersistentStore writebackObjectPersistentStore;
@Inject @Inject
TransactionFactory transactionFactory; TransactionFactory transactionFactory;
@Inject
LockManager lockManager;
private boolean _ready = false; private boolean _ready = false;
private final DataLocker _objLocker = new DataLocker();
static { static {
_preCommitTxHooks = List.copyOf(CDI.current().select(PreCommitTxHook.class).stream().sorted(Comparator.comparingInt(PreCommitTxHook::getPriority)).toList()); _preCommitTxHooks = List.copyOf(CDI.current().select(PreCommitTxHook.class).stream().sorted(Comparator.comparingInt(PreCommitTxHook::getPriority)).toList());
@@ -162,7 +163,7 @@ public class JObjectManager {
for (var key : toLock) { for (var key : toLock) {
if (tx.knownNew().contains(key)) if (tx.knownNew().contains(key))
continue; continue;
var lock = lockManager.lockObject(key); var lock = _objLocker.lock(key);
toUnlock.add(lock); toUnlock.add(lock);
} }

View File

@@ -1,23 +0,0 @@
package com.usatiuk.objects.transaction;
import com.usatiuk.objects.JObjectKey;
import com.usatiuk.utils.AutoCloseableNoThrow;
import com.usatiuk.utils.DataLocker;
import jakarta.annotation.Nonnull;
import jakarta.annotation.Nullable;
import jakarta.inject.Singleton;
@Singleton
public class LockManager {
private final DataLocker _objLocker = new DataLocker();
@Nonnull
public AutoCloseableNoThrow lockObject(JObjectKey key) {
return _objLocker.lock(key);
}
@Nullable
public AutoCloseableNoThrow tryLockObject(JObjectKey key) {
return _objLocker.tryLock(key);
}
}

View File

@@ -19,10 +19,6 @@ import java.util.*;
public class TransactionFactoryImpl implements TransactionFactory { public class TransactionFactoryImpl implements TransactionFactory {
@Inject @Inject
WritebackObjectPersistentStore writebackObjectPersistentStore; WritebackObjectPersistentStore writebackObjectPersistentStore;
@Inject
LockManager lockManager;
@ConfigProperty(name = "dhfs.objects.transaction.never-lock")
boolean neverLock;
@Override @Override
public TransactionPrivate createTransaction() { public TransactionPrivate createTransaction() {

View File

@@ -5,7 +5,6 @@ dhfs.objects.lru.print-stats=false
dhfs.objects.lock_timeout_secs=15 dhfs.objects.lock_timeout_secs=15
dhfs.objects.persistence.files.root=${HOME}/dhfs_default/data/objs dhfs.objects.persistence.files.root=${HOME}/dhfs_default/data/objs
dhfs.objects.persistence.snapshot-extra-checks=false dhfs.objects.persistence.snapshot-extra-checks=false
dhfs.objects.transaction.never-lock=true
dhfs.objects.last-seen.update=60 dhfs.objects.last-seen.update=60
dhfs.objects.last-seen.timeout=43200 dhfs.objects.last-seen.timeout=43200
quarkus.log.category."com.usatiuk.objects.iterators".level=INFO quarkus.log.category."com.usatiuk.objects.iterators".level=INFO