Skip to content
This repository was archived by the owner on Jan 9, 2025. It is now read-only.
This repository was archived by the owner on Jan 9, 2025. It is now read-only.

Exception when starting new Storage with same StorageConfiguration #279

@hg-ms

Description

@hg-ms
one.microstream.storage.exceptions.StorageException: Problem in channel 0
	at one.microstream.storage.types.StorageChannelTask$Abstract.checkForProblems(StorageChannelTask.java:86)
	at one.microstream.storage.types.StorageChannelTask$Abstract.waitOnCompletion(StorageChannelTask.java:148)
	at one.microstream.storage.types.StorageSystem$Default.startThreads(StorageSystem.java:318)
	at one.microstream.storage.types.StorageSystem$Default.internalStartUp(StorageSystem.java:496)
	at one.microstream.storage.types.StorageSystem$Default.start(StorageSystem.java:576)
	at one.microstream.storage.types.StorageSystem$Default.start(StorageSystem.java:1)
	at one.microstream.enterprise.storage.remote.server.types.ServerStorageSystem$Default.start(ServerStorageSystem.java:168)
	at one.microstream.enterprise.storage.remote.server.types.ServerStorageSystem$Default.start(ServerStorageSystem.java:1)
	at one.microstream.enterprise.storage.remote.util.MessageUtils.createVoidResult(MessageUtils.java:17)
	at one.microstream.enterprise.storage.remote.server.types.ServerStorageSystem.receiveStart(ServerStorageSystem.java:67)
	at one.microstream.enterprise.storage.remote.server.types.StorageServerFoundation$Default.lambda$26(StorageServerFoundation.java:371)
	at one.microstream.enterprise.storage.remote.types.MessageRespondingHandler.lambda$0(MessageRespondingHandler.java:41)
	at one.microstream.enterprise.storage.remote.types.MessageManager$Default.lambda$1(MessageManager.java:433)
	at java.lang.Thread.run(Thread.java:748)
Caused by: one.microstream.afs.exceptions.AfsExceptionExclusiveAttemptConflict: File is already used by a different exclusive user: one.microstream.afs.types.AFile$Default@600ff117("storage/channel_0/transactions_0.sft"). Exclusive user: (java.lang.Thread@57611b33) Thread[MicroStream-StorageChannel-0,5,]. Attempting user: (java.lang.Thread@59a6efaf) Thread[MicroStream-StorageChannel-0,5,main].
	at one.microstream.afs.types.AccessManager$Default$2.handleExclusiveAttemptConflict(AccessManager.java:732)
	at one.microstream.afs.types.AccessManager$Default.internalUseWriting(AccessManager.java:641)
	at one.microstream.afs.types.AccessManager$Default.useWriting(AccessManager.java:482)
	at one.microstream.afs.types.AFile.useWriting(AFile.java:108)
	at one.microstream.afs.types.AFS.applyWriting(AFS.java:272)
	at one.microstream.afs.types.AFS.applyWriting(AFS.java:262)
	at one.microstream.afs.types.AFile.ensureExists(AFile.java:157)
	at one.microstream.storage.types.StorageFileManager$Default.createTransactionsFile(StorageFileManager.java:1106)
	at one.microstream.storage.types.StorageFileManager$Default.readTransactionsFile(StorageFileManager.java:716)
	at one.microstream.storage.types.StorageFileManager$Default.readStorage(StorageFileManager.java:701)
	at one.microstream.storage.types.StorageChannel$Default.readStorage(StorageChannel.java:731)
	at one.microstream.storage.types.StorageChannelTaskInitialize$Default.internalProcessBy(StorageChannelTaskInitialize.java:195)
	at one.microstream.storage.types.StorageChannelTaskInitialize$Default.internalProcessBy(StorageChannelTaskInitialize.java:1)
	at one.microstream.storage.types.StorageChannelTask$Abstract.processBy(StorageChannelTask.java:222)
	at one.microstream.storage.types.StorageChannel$Default.work(StorageChannel.java:408)
	at one.microstream.storage.types.StorageChannel$Default.run(StorageChannel.java:495)
	... 1 more

Code to reproduce:

public static void main(final String[] args)
{
	final List<String> root  = new ArrayList<>();
	final StorageConfiguration config = StorageConfiguration.New();
	
	EmbeddedStorageManager storage = EmbeddedStorage.start(root, config);
	root.add("Hello :)");
	storage.store(root);
	storage.shutdown();
	
	storage = EmbeddedStorage.start(root, config);
	storage.store(root);
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions