[SOLVED] Keycloak 20.0.2 - Transaction recovery warning

Hello,

When I start my Keycloak instance I have this warning:

2022-12-14 13:19:31,734 WARN  [io.quarkus.agroal.runtime.DataSources] (main) Datasource <default> enables XA but transaction recovery is not enabled. Please enable transaction recovery by setting quarkus.transaction-manager.enable-recovery=true, otherwise data may be lost if the application is terminated abruptly

I tried to add this line in my keycloak.conf:

quarkus.transaction-manager.enable-recovery=true

But it doesn’t work.

How can I set the parameter quarkus.transaction-manager.enable-recovery=true please ?

Thank you very much :slight_smile:

Quarkus native config settings have to be put in quarkus.properties in the /conf folder. keycloak.conf is only for Keycloak configuration.

It works : thank you very much :slight_smile:

Nice. Is it please possible to set this via the (legacy) Keycloak operator?

What do you mean by “(legacy) Keycloak operator” ?
I’m not sure I understand sorry :confused:
Because the warning I received is related to recent version of Keycloak based on Quarkus :slight_smile:

And I fixed with a simple file /opt/keycloak/conf/quarkus.properties :

quarkus.transaction-manager.enable-recovery=true

Our Keycloak is installed to Kubernetes using (legacy) Keycloak Operator, which under the hood uses Quarkus based Keycloak running in a container. So the solution should be the same, however I don’t see a way to edit the config file mentioned / provide environment variable in a supported way …

In this context I suppose you can try to use the volume feature to mount a file quarkus.properties in the right directory no?

Sure, this could do the trick, however must be done in the unsupported section of the CRD :-/ there is a bug open for this Make quarkus.transaction-manager.enable-recovery configurable by Keycloak env-var · Issue #15255 · keycloak/keycloak · GitHub, pending resolution. @Kortex, thanks for the response though !

Hello !

I tried doing the same on my Keycloak 20.0.5.
I created a file quarkus.properties that I copied in /opt/keycloak/conf/quarkus.properties when I am building my docker image.

And when running a container from my image, I got the followings:

2023-04-25 11:51:13 Apr 25, 2023 9:51:13 AM com.arjuna.common.internal.util.ClassloadingUtility loadAndInstantiateClass
2023-04-25 11:51:13 WARN: ARJUNA048006: cannot create new instance of com.arjuna.ats.internal.arjuna.objectstore.ShadowNoFileLockStore
2023-04-25 11:51:13 java.lang.reflect.InvocationTargetException
2023-04-25 11:51:13     at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
2023-04-25 11:51:13     at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
2023-04-25 11:51:13     at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
2023-04-25 11:51:13     at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
2023-04-25 11:51:13     at com.arjuna.common.internal.util.ClassloadingUtility.loadAndInstantiateClass(ClassloadingUtility.java:129)
2023-04-25 11:51:13     at com.arjuna.ats.arjuna.objectstore.StoreManager.initStore(StoreManager.java:152)
2023-04-25 11:51:13     at com.arjuna.ats.arjuna.objectstore.StoreManager.getActionStore(StoreManager.java:111)
2023-04-25 11:51:13     at com.arjuna.ats.arjuna.objectstore.StoreManager.getRecoveryStore(StoreManager.java:68)
2023-04-25 11:51:13     at com.arjuna.ats.internal.arjuna.recovery.AtomicActionRecoveryModule.<init>(AtomicActionRecoveryModule.java:67)
2023-04-25 11:51:13     at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
2023-04-25 11:51:13     at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
2023-04-25 11:51:13     at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
2023-04-25 11:51:13     at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
2023-04-25 11:51:13     at java.base/java.lang.Class.newInstance(Class.java:584)
2023-04-25 11:51:13     at com.arjuna.common.internal.util.ClassloadingUtility.loadAndInstantiateClass(ClassloadingUtility.java:135)
2023-04-25 11:51:13     at com.arjuna.common.internal.util.ClassloadingUtility.loadAndInstantiateClassesWithInit(ClassloadingUtility.java:192)
2023-04-25 11:51:13     at com.arjuna.ats.arjuna.common.RecoveryEnvironmentBean.getRecoveryModules(RecoveryEnvironmentBean.java:476)
2023-04-25 11:51:13     at com.arjuna.ats.internal.arjuna.recovery.PeriodicRecovery.loadModules(PeriodicRecovery.java:888)
2023-04-25 11:51:13     at com.arjuna.ats.internal.arjuna.recovery.PeriodicRecovery.<init>(PeriodicRecovery.java:121)
2023-04-25 11:51:13     at com.arjuna.ats.internal.arjuna.recovery.RecoveryManagerImple.<init>(RecoveryManagerImple.java:107)
2023-04-25 11:51:13     at com.arjuna.ats.arjuna.recovery.RecoveryManager.<init>(RecoveryManager.java:481)
2023-04-25 11:51:13     at com.arjuna.ats.arjuna.recovery.RecoveryManager.manager(RecoveryManager.java:132)
2023-04-25 11:51:13     at com.arjuna.ats.arjuna.recovery.RecoveryManager.manager(RecoveryManager.java:112)
2023-04-25 11:51:13     at io.quarkus.narayana.jta.runtime.NarayanaJtaRecorder$1.run(NarayanaJtaRecorder.java:94)
2023-04-25 11:51:13     at io.quarkus.runtime.StartupContext.runAllInReverseOrder(StartupContext.java:84)
2023-04-25 11:51:13     at io.quarkus.runtime.StartupContext.close(StartupContext.java:75)
2023-04-25 11:51:13     at io.quarkus.runner.ApplicationImpl.doStart(Unknown Source)
2023-04-25 11:51:13     at io.quarkus.runtime.Application.start(Application.java:101)
2023-04-25 11:51:13     at io.quarkus.runtime.ApplicationLifecycleManager.run(ApplicationLifecycleManager.java:110)
2023-04-25 11:51:13     at io.quarkus.runtime.Quarkus.run(Quarkus.java:70)
2023-04-25 11:51:13     at org.keycloak.quarkus.runtime.KeycloakMain.start(KeycloakMain.java:103)
2023-04-25 11:51:13     at org.keycloak.quarkus.runtime.cli.command.AbstractStartCommand.run(AbstractStartCommand.java:37)
2023-04-25 11:51:13     at picocli.CommandLine.executeUserObject(CommandLine.java:1939)
2023-04-25 11:51:13     at picocli.CommandLine.access$1300(CommandLine.java:145)
2023-04-25 11:51:13     at picocli.CommandLine$RunLast.executeUserObjectOfLastSubcommandWithSameParent(CommandLine.java:2358)
2023-04-25 11:51:13     at picocli.CommandLine$RunLast.handle(CommandLine.java:2352)
2023-04-25 11:51:13     at picocli.CommandLine$RunLast.handle(CommandLine.java:2314)
2023-04-25 11:51:13     at picocli.CommandLine$AbstractParseResultHandler.execute(CommandLine.java:2179)
2023-04-25 11:51:13     at picocli.CommandLine$RunLast.execute(CommandLine.java:2316)
2023-04-25 11:51:13     at picocli.CommandLine.execute(CommandLine.java:2078)
2023-04-25 11:51:13     at org.keycloak.quarkus.runtime.cli.Picocli.parseAndRun(Picocli.java:93)
2023-04-25 11:51:13     at org.keycloak.quarkus.runtime.KeycloakMain.main(KeycloakMain.java:89)
2023-04-25 11:51:13     at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
2023-04-25 11:51:13     at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
2023-04-25 11:51:13     at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
2023-04-25 11:51:13     at java.base/java.lang.reflect.Method.invoke(Method.java:566)
2023-04-25 11:51:13     at io.quarkus.bootstrap.runner.QuarkusEntryPoint.doRun(QuarkusEntryPoint.java:61)
2023-04-25 11:51:13     at io.quarkus.bootstrap.runner.QuarkusEntryPoint.main(QuarkusEntryPoint.java:32)
2023-04-25 11:51:13 Caused by: com.arjuna.ats.arjuna.exceptions.ObjectStoreException: ARJUNA012225: FileSystemStore::setupStore - cannot access root of object store: ObjectStore/ShadowNoFileLockStore/defaultStore/
2023-04-25 11:51:13     at com.arjuna.ats.internal.arjuna.objectstore.FileSystemStore.<init>(FileSystemStore.java:633)
2023-04-25 11:51:13     at com.arjuna.ats.internal.arjuna.objectstore.ShadowingStore.<init>(ShadowingStore.java:652)
2023-04-25 11:51:13     at com.arjuna.ats.internal.arjuna.objectstore.ShadowNoFileLockStore.<init>(ShadowNoFileLockStore.java:53)
2023-04-25 11:51:13     ... 48 more
2023-04-25 11:51:13 
2023-04-25 11:51:13 Apr 25, 2023 9:51:13 AM io.quarkus.runtime.StartupContext runAllInReverseOrder
2023-04-25 11:51:13 ERROR: Running a shutdown task failed
2023-04-25 11:51:13 com.arjuna.ats.arjuna.exceptions.FatalError: ARJUNA012391: Could not initialize object store 'null' of type 'com.arjuna.ats.internal.arjuna.objectstore.ShadowNoFileLockStore'
2023-04-25 11:51:13     at com.arjuna.ats.arjuna.objectstore.StoreManager.initStore(StoreManager.java:160)
2023-04-25 11:51:13     at com.arjuna.ats.arjuna.objectstore.StoreManager.getActionStore(StoreManager.java:111)
2023-04-25 11:51:13     at com.arjuna.ats.arjuna.objectstore.StoreManager.getRecoveryStore(StoreManager.java:68)
2023-04-25 11:51:13     at com.arjuna.ats.internal.arjuna.recovery.AtomicActionRecoveryModule.<init>(AtomicActionRecoveryModule.java:67)
2023-04-25 11:51:13     at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
2023-04-25 11:51:13     at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
2023-04-25 11:51:13     at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
2023-04-25 11:51:13     at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
2023-04-25 11:51:13     at java.base/java.lang.Class.newInstance(Class.java:584)
2023-04-25 11:51:13     at com.arjuna.common.internal.util.ClassloadingUtility.loadAndInstantiateClass(ClassloadingUtility.java:135)
2023-04-25 11:51:13     at com.arjuna.common.internal.util.ClassloadingUtility.loadAndInstantiateClassesWithInit(ClassloadingUtility.java:192)
2023-04-25 11:51:13     at com.arjuna.ats.arjuna.common.RecoveryEnvironmentBean.getRecoveryModules(RecoveryEnvironmentBean.java:476)
2023-04-25 11:51:13     at com.arjuna.ats.internal.arjuna.recovery.PeriodicRecovery.loadModules(PeriodicRecovery.java:888)
2023-04-25 11:51:13     at com.arjuna.ats.internal.arjuna.recovery.PeriodicRecovery.<init>(PeriodicRecovery.java:121)
2023-04-25 11:51:13     at com.arjuna.ats.internal.arjuna.recovery.RecoveryManagerImple.<init>(RecoveryManagerImple.java:107)
2023-04-25 11:51:13     at com.arjuna.ats.arjuna.recovery.RecoveryManager.<init>(RecoveryManager.java:481)
2023-04-25 11:51:13     at com.arjuna.ats.arjuna.recovery.RecoveryManager.manager(RecoveryManager.java:132)
2023-04-25 11:51:13     at com.arjuna.ats.arjuna.recovery.RecoveryManager.manager(RecoveryManager.java:112)
2023-04-25 11:51:13     at io.quarkus.narayana.jta.runtime.NarayanaJtaRecorder$1.run(NarayanaJtaRecorder.java:94)
2023-04-25 11:51:13     at io.quarkus.runtime.StartupContext.runAllInReverseOrder(StartupContext.java:84)
2023-04-25 11:51:13     at io.quarkus.runtime.StartupContext.close(StartupContext.java:75)
2023-04-25 11:51:13     at io.quarkus.runner.ApplicationImpl.doStart(Unknown Source)
2023-04-25 11:51:13     at io.quarkus.runtime.Application.start(Application.java:101)
2023-04-25 11:51:13     at io.quarkus.runtime.ApplicationLifecycleManager.run(ApplicationLifecycleManager.java:110)
2023-04-25 11:51:13     at io.quarkus.runtime.Quarkus.run(Quarkus.java:70)
2023-04-25 11:51:13     at org.keycloak.quarkus.runtime.KeycloakMain.start(KeycloakMain.java:103)
2023-04-25 11:51:13     at org.keycloak.quarkus.runtime.cli.command.AbstractStartCommand.run(AbstractStartCommand.java:37)
2023-04-25 11:51:13     at picocli.CommandLine.executeUserObject(CommandLine.java:1939)
2023-04-25 11:51:13     at picocli.CommandLine.access$1300(CommandLine.java:145)
2023-04-25 11:51:13     at picocli.CommandLine$RunLast.executeUserObjectOfLastSubcommandWithSameParent(CommandLine.java:2358)
2023-04-25 11:51:13     at picocli.CommandLine$RunLast.handle(CommandLine.java:2352)
2023-04-25 11:51:13     at picocli.CommandLine$RunLast.handle(CommandLine.java:2314)
2023-04-25 11:51:13     at picocli.CommandLine$AbstractParseResultHandler.execute(CommandLine.java:2179)
2023-04-25 11:51:13     at picocli.CommandLine$RunLast.execute(CommandLine.java:2316)
2023-04-25 11:51:13     at picocli.CommandLine.execute(CommandLine.java:2078)
2023-04-25 11:51:13     at org.keycloak.quarkus.runtime.cli.Picocli.parseAndRun(Picocli.java:93)
2023-04-25 11:51:13     at org.keycloak.quarkus.runtime.KeycloakMain.main(KeycloakMain.java:89)
2023-04-25 11:51:13     at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
2023-04-25 11:51:13     at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
2023-04-25 11:51:13     at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
2023-04-25 11:51:13     at java.base/java.lang.reflect.Method.invoke(Method.java:566)
2023-04-25 11:51:13     at io.quarkus.bootstrap.runner.QuarkusEntryPoint.doRun(QuarkusEntryPoint.java:61)
2023-04-25 11:51:13     at io.quarkus.bootstrap.runner.QuarkusEntryPoint.main(QuarkusEntryPoint.java:32)
2023-04-25 11:51:13 
2023-04-25 11:51:13 ERROR: Failed to start server in (production) mode
2023-04-25 11:51:13 ERROR: ARJUNA012391: Could not initialize object store 'null' of type 'com.arjuna.ats.internal.arjuna.objectstore.ShadowNoFileLockStore'
2023-04-25 11:51:13 For more details run the same command passing the '--verbose' option. Also you can use '--help' to see the details about the usage of the particular command.

I searched on github issue, It seemed to be solved by mounting a volume for an ObjectStore.

But in this issue, It seemed to be solved by configuring in a quarkus.properties file:
quarkus.transaction-manager.enable-recovery=true.

So I’m wondering if I missed something…

Thank you in advance :slight_smile:

Hello !

I tried the same thing on my Keycloak 20.0.5.
I created a quarkus.properties file that I copied in /opt/keycloak/conf/quarkus.properties in my Dockerfile.
And sadly, it didn’t work…

On a github issue, It seemed to be solved by mounting an ObjectStore.
But in this issue, It seemed to be solved by configuring quarkus.transaction-manager.enable-recovery=true in quarkus.properties.

I got the following errors:

INFO: ARJUNA032010: JBossTS Recovery Service (tag: 24888b81fce8a45fb4d50ed280d48eb192b19076) - JBoss Inc.
2023-04-25 11:51:03 Apr 25, 2023 9:51:03 AM com.arjuna.ats.common
2023-04-25 11:51:03 WARN: ARJUNA048006: cannot create new instance of com.arjuna.ats.internal.arjuna.objectstore.ShadowNoFileLockStore
2023-04-25 11:51:03 java.lang.reflect.InvocationTargetException
2023-04-25 11:51:03     at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
2023-04-25 11:51:03     at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
2023-04-25 11:51:03     at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
2023-04-25 11:51:03     at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
2023-04-25 11:51:03     at com.arjuna.common.internal.util.ClassloadingUtility.loadAndInstantiateClass(ClassloadingUtility.java:129)
2023-04-25 11:51:03     at com.arjuna.ats.arjuna.objectstore.StoreManager.initStore(StoreManager.java:152)
2023-04-25 11:51:03     at com.arjuna.ats.arjuna.objectstore.StoreManager.getActionStore(StoreManager.java:111)
2023-04-25 11:51:03     at com.arjuna.ats.arjuna.objectstore.StoreManager.getRecoveryStore(StoreManager.java:68)
2023-04-25 11:51:03     at com.arjuna.ats.internal.arjuna.recovery.AtomicActionRecoveryModule.<init>(AtomicActionRecoveryModule.java:67)
2023-04-25 11:51:03     at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
2023-04-25 11:51:03     at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
2023-04-25 11:51:03     at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
2023-04-25 11:51:03     at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
2023-04-25 11:51:03     at java.base/java.lang.Class.newInstance(Class.java:584)
2023-04-25 11:51:03     at com.arjuna.common.internal.util.ClassloadingUtility.loadAndInstantiateClass(ClassloadingUtility.java:135)
2023-04-25 11:51:03     at com.arjuna.common.internal.util.ClassloadingUtility.loadAndInstantiateClassesWithInit(ClassloadingUtility.java:192)
2023-04-25 11:51:03     at com.arjuna.ats.arjuna.common.RecoveryEnvironmentBean.getRecoveryModules(RecoveryEnvironmentBean.java:476)
2023-04-25 11:51:03     at com.arjuna.ats.internal.arjuna.recovery.PeriodicRecovery.loadModules(PeriodicRecovery.java:888)
2023-04-25 11:51:03     at com.arjuna.ats.internal.arjuna.recovery.PeriodicRecovery.<init>(PeriodicRecovery.java:121)
2023-04-25 11:51:03     at com.arjuna.ats.internal.arjuna.recovery.RecoveryManagerImple.<init>(RecoveryManagerImple.java:107)
2023-04-25 11:51:03     at com.arjuna.ats.arjuna.recovery.RecoveryManager.<init>(RecoveryManager.java:481)
2023-04-25 11:51:03     at com.arjuna.ats.arjuna.recovery.RecoveryManager.manager(RecoveryManager.java:132)
2023-04-25 11:51:03     at com.arjuna.ats.arjuna.recovery.RecoveryManager.manager(RecoveryManager.java:112)
2023-04-25 11:51:03     at com.arjuna.ats.jbossatx.jta.RecoveryManagerService.create(RecoveryManagerService.java:54)
2023-04-25 11:51:03     at io.quarkus.narayana.jta.runtime.NarayanaJtaProducers.xaResourceRecoveryRegistry(NarayanaJtaProducers.java:40)
2023-04-25 11:51:03     at io.quarkus.narayana.jta.runtime.NarayanaJtaProducers_ProducerMethod_xaResourceRecoveryRegistry_accdf94fa60fc1dffbabd6096b2a65b69ad4ec66_Bean.create(Unknown Source)
2023-04-25 11:51:03     at io.quarkus.narayana.jta.runtime.NarayanaJtaProducers_ProducerMethod_xaResourceRecoveryRegistry_accdf94fa60fc1dffbabd6096b2a65b69ad4ec66_Bean.create(Unknown Source)
2023-04-25 11:51:03     at io.quarkus.arc.impl.AbstractSharedContext.createInstanceHandle(AbstractSharedContext.java:113)
2023-04-25 11:51:03     at io.quarkus.arc.impl.AbstractSharedContext$1.get(AbstractSharedContext.java:37)
2023-04-25 11:51:03     at io.quarkus.arc.impl.AbstractSharedContext$1.get(AbstractSharedContext.java:34)
2023-04-25 11:51:03     at io.quarkus.arc.impl.LazyValue.get(LazyValue.java:26)
2023-04-25 11:51:03     at io.quarkus.arc.impl.ComputingCache.computeIfAbsent(ComputingCache.java:69)
2023-04-25 11:51:03     at io.quarkus.arc.impl.AbstractSharedContext.get(AbstractSharedContext.java:34)
2023-04-25 11:51:03     at io.quarkus.narayana.jta.runtime.NarayanaJtaProducers_ProducerMethod_xaResourceRecoveryRegistry_accdf94fa60fc1dffbabd6096b2a65b69ad4ec66_Bean.get(Unknown Source)
2023-04-25 11:51:03     at io.quarkus.narayana.jta.runtime.NarayanaJtaProducers_ProducerMethod_xaResourceRecoveryRegistry_accdf94fa60fc1dffbabd6096b2a65b69ad4ec66_Bean.get(Unknown Source)
2023-04-25 11:51:03     at io.quarkus.agroal.runtime.DataSources_Bean.create(Unknown Source)
2023-04-25 11:51:03     at io.quarkus.agroal.runtime.DataSources_Bean.create(Unknown Source)
2023-04-25 11:51:03     at io.quarkus.arc.impl.AbstractSharedContext.createInstanceHandle(AbstractSharedContext.java:113)
2023-04-25 11:51:03     at io.quarkus.arc.impl.AbstractSharedContext$1.get(AbstractSharedContext.java:37)
2023-04-25 11:51:03     at io.quarkus.arc.impl.AbstractSharedContext$1.get(AbstractSharedContext.java:34)
2023-04-25 11:51:03     at io.quarkus.arc.impl.LazyValue.get(LazyValue.java:26)
2023-04-25 11:51:03     at io.quarkus.arc.impl.ComputingCache.computeIfAbsent(ComputingCache.java:69)
2023-04-25 11:51:03     at io.quarkus.arc.impl.AbstractSharedContext.get(AbstractSharedContext.java:34)
2023-04-25 11:51:03     at io.quarkus.agroal.runtime.DataSources_Bean.get(Unknown Source)
2023-04-25 11:51:03     at io.quarkus.agroal.runtime.DataSources_Bean.get(Unknown Source)
2023-04-25 11:51:03     at io.quarkus.arc.impl.ArcContainerImpl.beanInstanceHandle(ArcContainerImpl.java:471)
2023-04-25 11:51:03     at io.quarkus.arc.impl.ArcContainerImpl.beanInstanceHandle(ArcContainerImpl.java:484)
2023-04-25 11:51:03     at io.quarkus.arc.impl.ArcContainerImpl.instanceHandle(ArcContainerImpl.java:455)
2023-04-25 11:51:03     at io.quarkus.arc.impl.ArcContainerImpl.instance(ArcContainerImpl.java:248)
2023-04-25 11:51:03     at io.quarkus.agroal.runtime.DataSources.fromName(DataSources.java:117)
2023-04-25 11:51:03     at io.quarkus.agroal.runtime.AgroalRecorder.agroalDataSourceSupplier(AgroalRecorder.java:23)
2023-04-25 11:51:03     at io.quarkus.deployment.steps.AgroalProcessor$generateDataSourceBeans109901991.deploy_0(Unknown Source)
2023-04-25 11:51:03     at io.quarkus.deployment.steps.AgroalProcessor$generateDataSourceBeans109901991.deploy(Unknown Source)
2023-04-25 11:51:03     at io.quarkus.runner.ApplicationImpl.doStart(Unknown Source)
2023-04-25 11:51:03     at io.quarkus.runtime.Application.start(Application.java:101)
2023-04-25 11:51:03     at io.quarkus.runtime.ApplicationLifecycleManager.run(ApplicationLifecycleManager.java:110)
2023-04-25 11:51:03     at io.quarkus.runtime.Quarkus.run(Quarkus.java:70)
2023-04-25 11:51:03     at org.keycloak.quarkus.runtime.KeycloakMain.start(KeycloakMain.java:103)
2023-04-25 11:51:03     at org.keycloak.quarkus.runtime.cli.command.AbstractStartCommand.run(AbstractStartCommand.java:37)
2023-04-25 11:51:03     at picocli.CommandLine.executeUserObject(CommandLine.java:1939)
2023-04-25 11:51:03     at picocli.CommandLine.access$1300(CommandLine.java:145)
2023-04-25 11:51:03     at picocli.CommandLine$RunLast.executeUserObjectOfLastSubcommandWithSameParent(CommandLine.java:2358)
2023-04-25 11:51:03     at picocli.CommandLine$RunLast.handle(CommandLine.java:2352)
2023-04-25 11:51:03     at picocli.CommandLine$RunLast.handle(CommandLine.java:2314)
2023-04-25 11:51:03     at picocli.CommandLine$AbstractParseResultHandler.execute(CommandLine.java:2179)
2023-04-25 11:51:03     at picocli.CommandLine$RunLast.execute(CommandLine.java:2316)
2023-04-25 11:51:03     at picocli.CommandLine.execute(CommandLine.java:2078)
2023-04-25 11:51:03     at org.keycloak.quarkus.runtime.cli.Picocli.parseAndRun(Picocli.java:93)
2023-04-25 11:51:03     at org.keycloak.quarkus.runtime.KeycloakMain.main(KeycloakMain.java:89)
2023-04-25 11:51:03     at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
2023-04-25 11:51:03     at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
2023-04-25 11:51:03     at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
2023-04-25 11:51:03     at java.base/java.lang.reflect.Method.invoke(Method.java:566)
2023-04-25 11:51:03     at io.quarkus.bootstrap.runner.QuarkusEntryPoint.doRun(QuarkusEntryPoint.java:61)
2023-04-25 11:51:03     at io.quarkus.bootstrap.runner.QuarkusEntryPoint.main(QuarkusEntryPoint.java:32)
2023-04-25 11:51:03 Caused by: com.arjuna.ats.arjuna.exceptions.ObjectStoreException: ARJUNA012225: FileSystemStore::setupStore - cannot access root of object store: ObjectStore/ShadowNoFileLockStore/defaultStore/
2023-04-25 11:51:03     at com.arjuna.ats.internal.arjuna.objectstore.FileSystemStore.<init>(FileSystemStore.java:633)
2023-04-25 11:51:03     at com.arjuna.ats.internal.arjuna.objectstore.ShadowingStore.<init>(ShadowingStore.java:652)
2023-04-25 11:51:03     at com.arjuna.ats.internal.arjuna.objectstore.ShadowNoFileLockStore.<init>(ShadowNoFileLockStore.java:53)
2023-04-25 11:51:03     ... 75 more
2023-04-25 11:51:03 
2023-04-25 11:51:03 Apr 25, 2023 9:51:03 AM org.hibernate.resource.beans.container.spi.AbstractCdiBeanContainer stop
2023-04-25 11:51:03 INFO: HHH10005004: Stopping BeanContainer : %s
2023-04-25 11:51:13 Apr 25, 2023 9:51:13 AM com.arjuna.common.internal.util.ClassloadingUtility loadAndInstantiateClass
2023-04-25 11:51:13 WARN: ARJUNA048006: cannot create new instance of com.arjuna.ats.internal.arjuna.objectstore.ShadowNoFileLockStore
2023-04-25 11:51:13 java.lang.reflect.InvocationTargetException
2023-04-25 11:51:13     at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
2023-04-25 11:51:13     at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
2023-04-25 11:51:13     at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
2023-04-25 11:51:13     at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
2023-04-25 11:51:13     at com.arjuna.common.internal.util.ClassloadingUtility.loadAndInstantiateClass(ClassloadingUtility.java:129)
2023-04-25 11:51:13     at com.arjuna.ats.arjuna.objectstore.StoreManager.initStore(StoreManager.java:152)
2023-04-25 11:51:13     at com.arjuna.ats.arjuna.objectstore.StoreManager.getActionStore(StoreManager.java:111)
2023-04-25 11:51:13     at com.arjuna.ats.arjuna.objectstore.StoreManager.getRecoveryStore(StoreManager.java:68)
2023-04-25 11:51:13     at com.arjuna.ats.internal.arjuna.recovery.AtomicActionRecoveryModule.<init>(AtomicActionRecoveryModule.java:67)
2023-04-25 11:51:13     at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
2023-04-25 11:51:13     at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
2023-04-25 11:51:13     at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
2023-04-25 11:51:13     at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
2023-04-25 11:51:13     at java.base/java.lang.Class.newInstance(Class.java:584)
2023-04-25 11:51:13     at com.arjuna.common.internal.util.ClassloadingUtility.loadAndInstantiateClass(ClassloadingUtility.java:135)
2023-04-25 11:51:13     at com.arjuna.common.internal.util.ClassloadingUtility.loadAndInstantiateClassesWithInit(ClassloadingUtility.java:192)
2023-04-25 11:51:13     at com.arjuna.ats.arjuna.common.RecoveryEnvironmentBean.getRecoveryModules(RecoveryEnvironmentBean.java:476)
2023-04-25 11:51:13     at com.arjuna.ats.internal.arjuna.recovery.PeriodicRecovery.loadModules(PeriodicRecovery.java:888)
2023-04-25 11:51:13     at com.arjuna.ats.internal.arjuna.recovery.PeriodicRecovery.<init>(PeriodicRecovery.java:121)
2023-04-25 11:51:13     at com.arjuna.ats.internal.arjuna.recovery.RecoveryManagerImple.<init>(RecoveryManagerImple.java:107)
2023-04-25 11:51:13     at com.arjuna.ats.arjuna.recovery.RecoveryManager.<init>(RecoveryManager.java:481)
2023-04-25 11:51:13     at com.arjuna.ats.arjuna.recovery.RecoveryManager.manager(RecoveryManager.java:132)
2023-04-25 11:51:13     at com.arjuna.ats.arjuna.recovery.RecoveryManager.manager(RecoveryManager.java:112)
2023-04-25 11:51:13     at io.quarkus.narayana.jta.runtime.NarayanaJtaRecorder$1.run(NarayanaJtaRecorder.java:94)
2023-04-25 11:51:13     at io.quarkus.runtime.StartupContext.runAllInReverseOrder(StartupContext.java:84)
2023-04-25 11:51:13     at io.quarkus.runtime.StartupContext.close(StartupContext.java:75)
2023-04-25 11:51:13     at io.quarkus.runner.ApplicationImpl.doStart(Unknown Source)
2023-04-25 11:51:13     at io.quarkus.runtime.Application.start(Application.java:101)
2023-04-25 11:51:13     at io.quarkus.runtime.ApplicationLifecycleManager.run(ApplicationLifecycleManager.java:110)
2023-04-25 11:51:13     at io.quarkus.runtime.Quarkus.run(Quarkus.java:70)
2023-04-25 11:51:13     at org.keycloak.quarkus.runtime.KeycloakMain.start(KeycloakMain.java:103)
2023-04-25 11:51:13     at org.keycloak.quarkus.runtime.cli.command.AbstractStartCommand.run(AbstractStartCommand.java:37)
2023-04-25 11:51:13     at picocli.CommandLine.executeUserObject(CommandLine.java:1939)
2023-04-25 11:51:13     at picocli.CommandLine.access$1300(CommandLine.java:145)
2023-04-25 11:51:13     at picocli.CommandLine$RunLast.executeUserObjectOfLastSubcommandWithSameParent(CommandLine.java:2358)
2023-04-25 11:51:13     at picocli.CommandLine$RunLast.handle(CommandLine.java:2352)
2023-04-25 11:51:13     at picocli.CommandLine$RunLast.handle(CommandLine.java:2314)
2023-04-25 11:51:13     at picocli.CommandLine$AbstractParseResultHandler.execute(CommandLine.java:2179)
2023-04-25 11:51:13     at picocli.CommandLine$RunLast.execute(CommandLine.java:2316)
2023-04-25 11:51:13     at picocli.CommandLine.execute(CommandLine.java:2078)
2023-04-25 11:51:13     at org.keycloak.quarkus.runtime.cli.Picocli.parseAndRun(Picocli.java:93)
2023-04-25 11:51:13     at org.keycloak.quarkus.runtime.KeycloakMain.main(KeycloakMain.java:89)
2023-04-25 11:51:13     at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
2023-04-25 11:51:13     at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
2023-04-25 11:51:13     at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
2023-04-25 11:51:13     at java.base/java.lang.reflect.Method.invoke(Method.java:566)
2023-04-25 11:51:13     at io.quarkus.bootstrap.runner.QuarkusEntryPoint.doRun(QuarkusEntryPoint.java:61)
2023-04-25 11:51:13     at io.quarkus.bootstrap.runner.QuarkusEntryPoint.main(QuarkusEntryPoint.java:32)
2023-04-25 11:51:13 Caused by: com.arjuna.ats.arjuna.exceptions.ObjectStoreException: ARJUNA012225: FileSystemStore::setupStore - cannot access root of object store: ObjectStore/ShadowNoFileLockStore/defaultStore/
2023-04-25 11:51:13     at com.arjuna.ats.internal.arjuna.objectstore.FileSystemStore.<init>(FileSystemStore.java:633)
2023-04-25 11:51:13     at com.arjuna.ats.internal.arjuna.objectstore.ShadowingStore.<init>(ShadowingStore.java:652)
2023-04-25 11:51:13     at com.arjuna.ats.internal.arjuna.objectstore.ShadowNoFileLockStore.<init>(ShadowNoFileLockStore.java:53)
2023-04-25 11:51:13     ... 48 more
2023-04-25 11:51:13 
2023-04-25 11:51:13 Apr 25, 2023 9:51:13 AM io.quarkus.runtime.StartupContext runAllInReverseOrder
2023-04-25 11:51:13 ERROR: Running a shutdown task failed
2023-04-25 11:51:13 com.arjuna.ats.arjuna.exceptions.FatalError: ARJUNA012391: Could not initialize object store 'null' of type 'com.arjuna.ats.internal.arjuna.objectstore.ShadowNoFileLockStore'
2023-04-25 11:51:13     at com.arjuna.ats.arjuna.objectstore.StoreManager.initStore(StoreManager.java:160)
2023-04-25 11:51:13     at com.arjuna.ats.arjuna.objectstore.StoreManager.getActionStore(StoreManager.java:111)
2023-04-25 11:51:13     at com.arjuna.ats.arjuna.objectstore.StoreManager.getRecoveryStore(StoreManager.java:68)
2023-04-25 11:51:13     at com.arjuna.ats.internal.arjuna.recovery.AtomicActionRecoveryModule.<init>(AtomicActionRecoveryModule.java:67)
2023-04-25 11:51:13     at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
2023-04-25 11:51:13     at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
2023-04-25 11:51:13     at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
2023-04-25 11:51:13     at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
2023-04-25 11:51:13     at java.base/java.lang.Class.newInstance(Class.java:584)
2023-04-25 11:51:13     at com.arjuna.common.internal.util.ClassloadingUtility.loadAndInstantiateClass(ClassloadingUtility.java:135)
2023-04-25 11:51:13     at com.arjuna.common.internal.util.ClassloadingUtility.loadAndInstantiateClassesWithInit(ClassloadingUtility.java:192)
2023-04-25 11:51:13     at com.arjuna.ats.arjuna.common.RecoveryEnvironmentBean.getRecoveryModules(RecoveryEnvironmentBean.java:476)
2023-04-25 11:51:13     at com.arjuna.ats.internal.arjuna.recovery.PeriodicRecovery.loadModules(PeriodicRecovery.java:888)
2023-04-25 11:51:13     at com.arjuna.ats.internal.arjuna.recovery.PeriodicRecovery.<init>(PeriodicRecovery.java:121)
2023-04-25 11:51:13     at com.arjuna.ats.internal.arjuna.recovery.RecoveryManagerImple.<init>(RecoveryManagerImple.java:107)
2023-04-25 11:51:13     at com.arjuna.ats.arjuna.recovery.RecoveryManager.<init>(RecoveryManager.java:481)
2023-04-25 11:51:13     at com.arjuna.ats.arjuna.recovery.RecoveryManager.manager(RecoveryManager.java:132)
2023-04-25 11:51:13     at com.arjuna.ats.arjuna.recovery.RecoveryManager.manager(RecoveryManager.java:112)
2023-04-25 11:51:13     at io.quarkus.narayana.jta.runtime.NarayanaJtaRecorder$1.run(NarayanaJtaRecorder.java:94)
2023-04-25 11:51:13     at io.quarkus.runtime.StartupContext.runAllInReverseOrder(StartupContext.java:84)
2023-04-25 11:51:13     at io.quarkus.runtime.StartupContext.close(StartupContext.java:75)
2023-04-25 11:51:13     at io.quarkus.runner.ApplicationImpl.doStart(Unknown Source)
2023-04-25 11:51:13     at io.quarkus.runtime.Application.start(Application.java:101)
2023-04-25 11:51:13     at io.quarkus.runtime.ApplicationLifecycleManager.run(ApplicationLifecycleManager.java:110)
2023-04-25 11:51:13     at io.quarkus.runtime.Quarkus.run(Quarkus.java:70)
2023-04-25 11:51:13     at org.keycloak.quarkus.runtime.KeycloakMain.start(KeycloakMain.java:103)
2023-04-25 11:51:13     at org.keycloak.quarkus.runtime.cli.command.AbstractStartCommand.run(AbstractStartCommand.java:37)
2023-04-25 11:51:13     at picocli.CommandLine.executeUserObject(CommandLine.java:1939)
2023-04-25 11:51:13     at picocli.CommandLine.access$1300(CommandLine.java:145)
2023-04-25 11:51:13     at picocli.CommandLine$RunLast.executeUserObjectOfLastSubcommandWithSameParent(CommandLine.java:2358)
2023-04-25 11:51:13     at picocli.CommandLine$RunLast.handle(CommandLine.java:2352)
2023-04-25 11:51:13     at picocli.CommandLine$RunLast.handle(CommandLine.java:2314)
2023-04-25 11:51:13     at picocli.CommandLine$AbstractParseResultHandler.execute(CommandLine.java:2179)
2023-04-25 11:51:13     at picocli.CommandLine$RunLast.execute(CommandLine.java:2316)
2023-04-25 11:51:13     at picocli.CommandLine.execute(CommandLine.java:2078)
2023-04-25 11:51:13     at org.keycloak.quarkus.runtime.cli.Picocli.parseAndRun(Picocli.java:93)
2023-04-25 11:51:13     at org.keycloak.quarkus.runtime.KeycloakMain.main(KeycloakMain.java:89)
2023-04-25 11:51:13     at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
2023-04-25 11:51:13     at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
2023-04-25 11:51:13     at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
2023-04-25 11:51:13     at java.base/java.lang.reflect.Method.invoke(Method.java:566)
2023-04-25 11:51:13     at io.quarkus.bootstrap.runner.QuarkusEntryPoint.doRun(QuarkusEntryPoint.java:61)
2023-04-25 11:51:13     at io.quarkus.bootstrap.runner.QuarkusEntryPoint.main(QuarkusEntryPoint.java:32)
2023-04-25 11:51:13 
2023-04-25 11:51:13 ERROR: Failed to start server in (production) mode
2023-04-25 11:51:13 ERROR: ARJUNA012391: Could not initialize object store 'null' of type 'com.arjuna.ats.internal.arjuna.objectstore.ShadowNoFileLockStore'
2023-04-25 11:51:13 For more details run the same command passing the '--verbose' option. Also you can use '--help' to see the details about the usage of the particular command.

I don’t know what I’m missing.

If someone has any ideas, I’m willing to take it.

Thank you in advance !

Simply use QUARKUS_TRANSACTION_MANAGER_ENABLE_RECOVERY env var so you do not have to tweak with quarkus.properties.