This repository was archived by the owner on Jan 9, 2025. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 45
This repository was archived by the owner on Jan 9, 2025. It is now read-only.
StorageExceptionDisruption Error #684
Copy link
Copy link
Open
Description
Environment Details
- MicroStream Version: 08.01.01-MS-GA
- JDK version: openjdk 21.0.1 2023-10-17
- OS: Linux Alpine 3.19.0
- Used frameworks: Spring Boot + Vaadin
Describe the bug
We encountered the following exception during Runtime:
Caused by: one.microstream.persistence.exceptions.PersistenceExceptionTransfer
at one.microstream.storage.embedded.types.EmbeddedStorageBinaryTarget$Default.write(EmbeddedStorageBinaryTarget.java:90) ~[microstream-storage-embedded-08.01.01-MS-GA.jar:?]
at one.microstream.storage.embedded.types.EmbeddedStorageBinaryTarget$Default.write(EmbeddedStorageBinaryTarget.java:49) ~[microstream-storage-embedded-08.01.01-MS-GA.jar:?]
at one.microstream.persistence.binary.types.BinaryStorer$Default.commit(BinaryStorer.java:522) ~[microstream-persistence-binary-08.01.01-MS-GA.jar:?]
at one.microstream.persistence.types.PersistenceManager$Default.store(PersistenceManager.java:305) ~[microstream-persistence-08.01.01-MS-GA.jar:?]
at one.microstream.storage.types.StorageConnection.store(StorageConnection.java:401) ~[microstream-storage-08.01.01-MS-GA.jar:?]
at de.app.db.data.UsersQuery.storeCollectionItem(UsersQuery.java:58) ~[classes/:2.1.0-beta.27]
... more
Caused by: one.microstream.storage.exceptions.StorageExceptionDisruptingExceptions: Disruptions: {one.microstream.storage.exceptions.StorageExceptionGarbageCollector:Exception in channel #0,}
at one.microstream.storage.types.StorageOperationController$Default.checkProcessingEnabled(StorageOperationController.java:139) ~[microstream-storage-08.01.01-MS-GA.jar:?]
at one.microstream.storage.types.StorageTaskBroker$Default.enqueueTask(StorageTaskBroker.java:209) ~[microstream-storage-08.01.01-MS-GA.jar:?]
at one.microstream.storage.types.StorageTaskBroker$Default.enqueueTask(StorageTaskBroker.java:200) ~[microstream-storage-08.01.01-MS-GA.jar:?]
at one.microstream.storage.types.StorageTaskBroker$Default.enqueueTaskAndNotifyAll(StorageTaskBroker.java:191) ~[microstream-storage-08.01.01-MS-GA.jar:?]
at one.microstream.storage.types.StorageTaskBroker$Default.enqueueStoreTask(StorageTaskBroker.java:410) ~[microstream-storage-08.01.01-MS-GA.jar:?]
at one.microstream.storage.types.StorageRequestAcceptor$Default.storeData(StorageRequestAcceptor.java:180) ~[microstream-storage-08.01.01-MS-GA.jar:?]
at one.microstream.storage.embedded.types.EmbeddedStorageBinaryTarget$Default.write(EmbeddedStorageBinaryTarget.java:86) ~[microstream-storage-embedded-08.01.01-MS-GA.jar:?]
at one.microstream.storage.embedded.types.EmbeddedStorageBinaryTarget$Default.write(EmbeddedStorageBinaryTarget.java:49) ~[microstream-storage-embedded-08.01.01-MS-GA.jar:?]
at one.microstream.persistence.binary.types.BinaryStorer$Default.commit(BinaryStorer.java:522) ~[microstream-persistence-binary-08.01.01-MS-GA.jar:?]
at one.microstream.persistence.types.PersistenceManager$Default.store(PersistenceManager.java:305) ~[microstream-persistence-08.01.01-MS-GA.jar:?]
at one.microstream.storage.types.StorageConnection.store(StorageConnection.java:401) ~[microstream-storage-08.01.01-MS-GA.jar:?]
at de.app.db.data.UsersQuery.storeCollectionItem(UsersQuery.java:58) ~[classes/:2.1.0-beta.27]
... more
After restarting the Servlet we can no longer initialize MicroStream:
Caused by: org.springframework.context.ApplicationContextException: Could not initiate Microstream properly: Problem in channel #0
Is there a way to figure out:
- what exactly happened ?
- whether the database can be "repaired" ? Or do we sorely rely on backups in this scenario ?
- prevent this Error in the Future ?
To Reproduce
We have no Idea how it happened since it happened in a production database on runtime without further logging that can help us. We have a clue that a bug in the application (and a possible halt to a thead) caused the Garbage Collector to disrupt the DB.
Metadata
Metadata
Assignees
Labels
No labels