Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Inconsistent timestamp of file #633

Open
ts-00 opened this issue Aug 29, 2023 · 1 comment
Open

Inconsistent timestamp of file #633

ts-00 opened this issue Aug 29, 2023 · 1 comment

Comments

@ts-00
Copy link

ts-00 commented Aug 29, 2023

Environment Details

  • MicroStream Version: 08.01.01-MS-GA
  • JDK version: 17
  • OS: Mac os
  • Used frameworks: Wildfly 29

Describe the bug

I'm not sure if this is a bug. However, if not, the user cannot easily fix the corrupted storage/memory, or?

I get this stacktrace:

Caused by: one.microstream.storage.exceptions.StorageException: Problem in channel #0
	at testapp.war//one.microstream.storage.types.StorageChannelTask$Abstract.checkForProblems(StorageChannelTask.java:114)
	at testapp.war//one.microstream.storage.types.StorageChannelTask$Abstract.waitOnCompletion(StorageChannelTask.java:176)
	at testapp.war//one.microstream.storage.types.StorageSystem$Default.startThreads(StorageSystem.java:336)
	at testapp.war//one.microstream.storage.types.StorageSystem$Default.internalStartUp(StorageSystem.java:516)
	at testapp.war//one.microstream.storage.types.StorageSystem$Default.start(StorageSystem.java:600)
	at testapp.war//one.microstream.storage.types.StorageSystem$Default.start(StorageSystem.java:78)
	at testapp.war//one.microstream.storage.embedded.types.EmbeddedStorageManager$Default.start(EmbeddedStorageManager.java:245)
	at testapp.war//one.microstream.storage.embedded.types.EmbeddedStorageManager$Default.start(EmbeddedStorageManager.java:97)
	at testapp.war//one.microstream.storage.embedded.types.EmbeddedStorageFoundation.start(EmbeddedStorageFoundation.java:241)
	at testapp.war//one.microstream.storage.embedded.types.EmbeddedStorageFoundation.start(EmbeddedStorageFoundation.java:209)
	...
	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
	at java.base/java.lang.reflect.Method.invoke(Method.java:577)
	at org.jboss.as.ee@29.0.0.Final//org.jboss.as.ee.component.ManagedReferenceLifecycleMethodInterceptor.processInvocation(ManagedReferenceLifecycleMethodInterceptor.java:96)
	at org.jboss.invocation@2.0.0.Final//org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:422)
	at org.jboss.invocation@2.0.0.Final//org.jboss.invocation.InterceptorContext$Invocation.proceed(InterceptorContext.java:509)
	at org.jboss.as.weld.common@29.0.0.Final//org.jboss.as.weld.interceptors.Jsr299BindingsInterceptor.delegateInterception(Jsr299BindingsInterceptor.java:79)
	at org.jboss.as.weld.common@29.0.0.Final//org.jboss.as.weld.interceptors.Jsr299BindingsInterceptor.doLifecycleInterception(Jsr299BindingsInterceptor.java:126)
	at org.jboss.as.weld.common@29.0.0.Final//org.jboss.as.weld.interceptors.Jsr299BindingsInterceptor.processInvocation(Jsr299BindingsInterceptor.java:112)
	at org.jboss.invocation@2.0.0.Final//org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:422)
	at org.jboss.invocation@2.0.0.Final//org.jboss.invocation.InterceptorContext$Invocation.proceed(InterceptorContext.java:509)
	at org.jboss.weld.core@5.1.1.SP1//org.jboss.weld.module.ejb.AbstractEJBRequestScopeActivationInterceptor.aroundInvoke(AbstractEJBRequestScopeActivationInterceptor.java:81)
	at org.jboss.as.weld.common@29.0.0.Final//org.jboss.as.weld.ejb.EjbRequestScopeActivationInterceptor.processInvocation(EjbRequestScopeActivationInterceptor.java:89)
	at org.jboss.invocation@2.0.0.Final//org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:422)
	at org.jboss.as.weld@29.0.0.Final//org.jboss.as.weld.injection.WeldInjectionInterceptor.processInvocation(WeldInjectionInterceptor.java:53)
	at org.jboss.invocation@2.0.0.Final//org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:422)
	at org.jboss.as.ee@29.0.0.Final//org.jboss.as.ee.component.AroundConstructInterceptorFactory$1.processInvocation(AroundConstructInterceptorFactory.java:28)
	at org.jboss.invocation@2.0.0.Final//org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:422)
	at org.jboss.as.weld@29.0.0.Final//org.jboss.as.weld.injection.WeldInterceptorInjectionInterceptor.processInvocation(WeldInterceptorInjectionInterceptor.java:56)
	at org.jboss.invocation@2.0.0.Final//org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:422)
	at org.jboss.as.weld@29.0.0.Final//org.jboss.as.weld.interceptors.Jsr299BindingsCreateInterceptor.processInvocation(Jsr299BindingsCreateInterceptor.java:111)
	at org.jboss.invocation@2.0.0.Final//org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:422)
	at org.jboss.as.ee@29.0.0.Final//org.jboss.as.ee.component.NamespaceContextInterceptor.processInvocation(NamespaceContextInterceptor.java:50)
	at org.jboss.invocation@2.0.0.Final//org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:422)
	at org.jboss.as.ejb3@29.0.0.Final//org.jboss.as.ejb3.tx.CMTTxInterceptor.invokeInOurTx(CMTTxInterceptor.java:254)
	... 28 more
Caused by: one.microstream.storage.exceptions.StorageException
	at testapp.war//one.microstream.storage.types.StorageFileManager$Default.readTransactionsFile(StorageFileManager.java:722)
	at testapp.war//one.microstream.storage.types.StorageFileManager$Default.readStorage(StorageFileManager.java:688)
	at testapp.war//one.microstream.storage.types.StorageChannel$Default.readStorage(StorageChannel.java:728)
	at testapp.war//one.microstream.storage.types.StorageChannelTaskInitialize$Default.internalProcessBy(StorageChannelTaskInitialize.java:193)
	at testapp.war//one.microstream.storage.types.StorageChannelTaskInitialize$Default.internalProcessBy(StorageChannelTaskInitialize.java:36)
	at testapp.war//one.microstream.storage.types.StorageChannelTask$Abstract.processBy(StorageChannelTask.java:252)
	at testapp.war//one.microstream.storage.types.StorageChannel$Default.work(StorageChannel.java:409)
	at testapp.war//one.microstream.storage.types.StorageChannel$Default.run(StorageChannel.java:492)
	at java.base/java.lang.Thread.run(Thread.java:833)
Caused by: one.microstream.storage.exceptions.StorageExceptionConsistency: 0 Inconsistent timestamp of file 24: 1693286556923000000 <= 1693288346410000000
	at testapp.war//one.microstream.storage.types.StorageTransactionsAnalysis$EntryAggregator.handleEntryStore(StorageTransactionsAnalysis.java:783)
	at testapp.war//one.microstream.storage.types.StorageTransactionsAnalysis$EntryAggregator.accept(StorageTransactionsAnalysis.java:701)
	at testapp.war//one.microstream.storage.types.StorageTransactionsAnalysis$Logic.processBufferedEntities(StorageTransactionsAnalysis.java:381)
	at testapp.war//one.microstream.storage.types.StorageTransactionsAnalysis$Logic.processInputFile(StorageTransactionsAnalysis.java:343)
	at testapp.war//one.microstream.storage.types.StorageTransactionsAnalysis$Logic.processInputFile(StorageTransactionsAnalysis.java:301)
	at testapp.war//one.microstream.storage.types.StorageLiveTransactionsFile$Default.processBy(StorageLiveTransactionsFile.java:93)
	at testapp.war//one.microstream.storage.types.StorageFileManager$Default.readTransactionsFile(StorageFileManager.java:716)
	... 8 more

09:15:26,132 ERROR [org.jboss.as.controller.management-operation] (Controller Boot Thread) WFLYCTL0013: Operation ("deploy") failed - address: ([("deployment" => "testapp.war")]) - failure description: {"WFLYCTL0080: Failed services" => {"jboss.deployment.unit.\"testapp.war\".component.App.START" => "java.lang.IllegalStateException: WFLYEE0042: Failed to construct component instance
    Caused by: java.lang.IllegalStateException: WFLYEE0042: Failed to construct component instance
    Caused by: jakarta.ejb.EJBException: one.microstream.storage.exceptions.StorageException: Problem in channel #0
    Caused by: one.microstream.storage.exceptions.StorageException: Problem in channel #0
    Caused by: one.microstream.storage.exceptions.StorageException
    Caused by: one.microstream.storage.exceptions.StorageExceptionConsistency: 0 Inconsistent timestamp of file 24: 1693286556923000000 <= 1693288346410000000"}}
  1. Then I restarted the server and the above stacktrace happened. However, I can no longer reproduce this stacktrace. So maybe the reason is something else, I don't know.

Expected behavior

The memory should not be damaged afterwards. Perhaps it should throw an exception at the time before the corruption to avoid corruption.

@hg-ms
Copy link
Contributor

hg-ms commented Aug 30, 2023

You can try to delete all transactions_0.sft in the storage channel directories.
In that case the storage tries to start without checking transaction consistency.

The problem may be caused by #634.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants