Problems with LDAP federation

Hi,

I’m using keycloak 12.0.4 and have several issues with Active Directory user import:

  1. My company has two different active directories for Europe and North America. An account can be a member of an ad group from a different region. For example my european account is listed as a member of the american group. I want to fetch these group membership so that it is assigned as a role. I’ve setup both servers as two different user federation services. Now if I create role-ldap-mapper:
    a) to use LOAD_ROLES_BY_MEMBER_ATTRIBUTE it only searches for the group in the given provider. I guess there’s no way to bypass this limitation?
    b) to use GET_ROLES_FROM_USER_MEMBEROF_ATTRIBUTE the field LDAP Filter seems not to work and loads all groups even though my filter is (cn=app_something*). Is that expected? On the side note I’ve noticed that in our active directory not all my groups are listed in my memberOf property…Not being an AD expert is that a common situation or the company has a problem with data inconsistency?

  2. With Import Users option disabled I can correctly log in to my european and american account. However when I decided to import users the american import crashes. I tried to switch from the H2 to Postgresql but that also didn’t do the trick. This problem only occurs if I enable role-mapper:
    H2:

08:22:18,394 WARN [com.arjuna.ats.arjuna] (Transaction Reaper) ARJUNA012117: TransactionReaper::check timeout for TX 0:ffff0ad253b3:-4710f4 c8:60894d06:a57 in state RUN
08:22:18,399 WARN [com.arjuna.ats.arjuna] (Transaction Reaper) ARJUNA012117: TransactionReaper::check timeout for TX 0:ffff0ad253b3:-4710f4 c8:60894d06:a5a in state RUN
08:22:18,405 WARN [com.arjuna.ats.arjuna] (Transaction Reaper Worker 0) ARJUNA012121: TransactionReaper::doCancellations worker Thread[Tran saction Reaper Worker 0,5,main] successfully canceled TX 0:ffff0ad253b3:-4710f4c8:60894d06:a57
08:22:18,408 WARN [com.arjuna.ats.arjuna] (Transaction Reaper Worker 0) ARJUNA012121: TransactionReaper::doCancellations worker Thread[Tran saction Reaper Worker 0,5,main] successfully canceled TX 0:ffff0ad253b3:-4710f4c8:60894d06:a5a
08:22:18,415 WARN [com.arjuna.ats.arjuna] (Transaction Reaper) ARJUNA012117: TransactionReaper::check timeout for TX 0:ffff0ad253b3:-4710f4 c8:60894d06:a63 in state RUN
08:22:18,417 WARN [com.arjuna.ats.arjuna] (Transaction Reaper Worker 0) ARJUNA012095: Abort of action id 0:ffff0ad253b3:-4710f4c8:60894d06: a63 invoked while multiple threads active within it.
08:22:18,419 WARN [com.arjuna.ats.arjuna] (Transaction Reaper Worker 0) ARJUNA012381: Action id 0:ffff0ad253b3:-4710f4c8:60894d06:a63 compl eted with multiple threads - thread default task-14 was in progress with org.h2.value.Value.compareTypeSafe(Value.java:1138)
org.h2.mvstore.db.ValueDataType.compareValues(ValueDataType.java:139)
org.h2.mvstore.db.ValueDataType.compare(ValueDataType.java:106)
org.h2.mvstore.MVMap.compare(MVMap.java:670)
org.h2.mvstore.Page.binarySearch(Page.java:325)
org.h2.mvstore.MVMap.binarySearch(MVMap.java:447)
org.h2.mvstore.MVMap.binarySearch(MVMap.java:455)
org.h2.mvstore.MVMap.binarySearch(MVMap.java:455)
org.h2.mvstore.MVMap.get(MVMap.java:436)
org.h2.mvstore.db.TransactionStore$TransactionMap.getValue(TransactionStore.java:1239)
org.h2.mvstore.db.TransactionStore$TransactionMap.get(TransactionStore.java:1215)
org.h2.mvstore.db.TransactionStore$TransactionMap.get(TransactionStore.java:1183)
org.h2.mvstore.db.TransactionStore$TransactionMap.containsKey(TransactionStore.java:1203)

org.keycloak.storage.ldap.mappers.membership.role.RoleLDAPStorageMapper.syncDataFromFederationProviderToKeycloak(RoleLDAPStorageMapper.java: 139)
org.keycloak.storage.ldap.LDAPStorageProviderFactory$1.lambda$run$0(LDAPStorageProviderFactory.java:506)
org.keycloak.storage.ldap.LDAPStorageProviderFactory$1$$Lambda$1528/1103784767.accept(Unknown Source)
java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1384)
java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:647)
org.keycloak.storage.ldap.LDAPStorageProviderFactory$1.run(LDAPStorageProviderFactory.java:504)
org.keycloak.models.utils.KeycloakModelUtils.runJobInTransaction(KeycloakModelUtils.java:228)
org.keycloak.storage.ldap.LDAPStorageProviderFactory.syncMappers(LDAPStorageProviderFactory.java:496)
org.keycloak.storage.ldap.LDAPStorageProviderFactory.sync(LDAPStorageProviderFactory.java:460)
org.keycloak.services.managers.UserStorageSyncManager$2$1.call(UserStorageSyncManager.java:108)
org.keycloak.services.managers.UserStorageSyncManager$2$1.call(UserStorageSyncManager.java:103)
org.keycloak.cluster.infinispan.InfinispanClusterProvider.executeIfNotExecuted(InfinispanClusterProvider.java:78)
org.keycloak.services.managers.UserStorageSyncManager$2.run(UserStorageSyncManager.java:103)
org.keycloak.models.utils.KeycloakModelUtils.runJobInTransaction(KeycloakModelUtils.java:228)
org.keycloak.services.managers.UserStorageSyncManager.syncAllUsers(UserStorageSyncManager.java:93)
org.keycloak.services.resources.admin.UserStorageProviderResource.syncUsers(UserStorageProviderResource.java:142)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
java.lang.reflect.Method.invoke(Method.java:498)
org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:138)
org.jboss.resteasy.core.ResourceMethodInvoker.internalInvokeOnTarget(ResourceMethodInvoker.java:543)
org.jboss.resteasy.core.ResourceMethodInvoker.invokeOnTargetAfterFilter(ResourceMethodInvoker.java:432)
org.jboss.resteasy.core.ResourceMethodInvoker.lambda$invokeOnTarget$0(ResourceMethodInvoker.java:393)
org.jboss.resteasy.core.ResourceMethodInvoker$$Lambda$1265/1252678219.get(Unknown Source)
org.jboss.resteasy.core.interception.PreMatchContainerRequestContext.filter(PreMatchContainerRequestContext.java:358)
org.jboss.resteasy.core.ResourceMethodInvoker.invokeOnTarget(ResourceMethodInvoker.java:395)
org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:364)
org.jboss.resteasy.core.ResourceLocatorInvoker.invokeOnTargetObject(ResourceLocatorInvoker.java:150)
org.jboss.resteasy.core.ResourceLocatorInvoker.invoke(ResourceLocatorInvoker.java:110)
org.jboss.resteasy.core.ResourceLocatorInvoker.invokeOnTargetObject(ResourceLocatorInvoker.java:141)
org.jboss.resteasy.core.ResourceLocatorInvoker.invoke(ResourceLocatorInvoker.java:110)
org.jboss.resteasy.core.ResourceLocatorInvoker.invokeOnTargetObject(ResourceLocatorInvoker.java:141)
org.jboss.resteasy.core.ResourceLocatorInvoker.invoke(ResourceLocatorInvoker.java:104)
org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoServ ice.java:1530)
org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction$$Lambda$953/1754244548.call(Unknown Source )
org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoServ ice.java:1530)
org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction$$Lambda$953/1754244548.call(Unknown Source )
org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoServ ice.java:1530)
org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction$$Lambda$953/1754244548.call(Unknown Source )
org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoServ ice.java:1530)
org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction$$Lambda$953/1754244548.call(Unknown Source )
io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:249)
io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:78)
io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:99)
io.undertow.server.Connectors.executeRootHandler(Connectors.java:387)
io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:841)
org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1990)
org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1486)
org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1377)
org.xnio.XnioWorker$WorkerThreadFactory$1$1.run(XnioWorker.java:1280)
java.lang.Thread.run(Thread.java:748)

08:22:18,430 WARN [com.arjuna.ats.arjuna] (Transaction Reaper Worker 0) ARJUNA012108: CheckedAction::check - atomic action 0:ffff0ad253b3:- 4710f4c8:60894d06:a63 aborting with 1 threads active!
08:22:18,916 WARN [com.arjuna.ats.arjuna] (Transaction Reaper) ARJUNA012117: TransactionReaper::check timeout for TX 0:ffff0ad253b3:-4710f4 c8:60894d06:a63 in state CANCEL
08:22:18,919 WARN [com.arjuna.ats.arjuna] (Transaction Reaper) ARJUNA012378: ReaperElement appears to be wedged: org.h2.mvstore.MVMap.compa re(MVMap.java:670)
org.h2.mvstore.Page.binarySearch(Page.java:325)
org.h2.mvstore.MVMap.remove(MVMap.java:610)
org.h2.mvstore.MVMap.remove(MVMap.java:627)
org.h2.mvstore.MVMap.remove(MVMap.java:507)
org.h2.mvstore.db.TransactionStore.commit(TransactionStore.java:380)
org.h2.mvstore.db.TransactionStore$Transaction.commit(TransactionStore.java:807)
org.h2.engine.Session.rollback(Session.java:780)
org.h2.command.dml.TransactionCommand.update(TransactionCommand.java:49)
org.h2.command.CommandContainer.update(CommandContainer.java:102)
org.h2.command.Command.executeUpdate(Command.java:261)
org.h2.jdbc.JdbcConnection.rollbackInternal(JdbcConnection.java:1558)
org.h2.jdbc.JdbcConnection.rollback(JdbcConnection.java:518)
org.jboss.jca.adapters.jdbc.local.LocalManagedConnection.rollback(LocalManagedConnection.java:132)
org.jboss.jca.core.tx.jbossts.LocalXAResourceImpl.rollback(LocalXAResourceImpl.java:244)
com.arjuna.ats.internal.jta.resources.arjunacore.XAOnePhaseResource.rollback(XAOnePhaseResource.java:205)
com.arjuna.ats.internal.arjuna.abstractrecords.LastResourceRecord.topLevelAbort(LastResourceRecord.java:126)
com.arjuna.ats.arjuna.coordinator.BasicAction.doAbort(BasicAction.java:3032)
com.arjuna.ats.arjuna.coordinator.BasicAction.doAbort(BasicAction.java:3011)
com.arjuna.ats.arjuna.coordinator.BasicAction.Abort(BasicAction.java:1674)
com.arjuna.ats.arjuna.coordinator.TwoPhaseCoordinator.cancel(TwoPhaseCoordinator.java:124)
com.arjuna.ats.arjuna.AtomicAction.cancel(AtomicAction.java:215)
com.arjuna.ats.arjuna.coordinator.TransactionReaper.doCancellations(TransactionReaper.java:381)
com.arjuna.ats.internal.arjuna.coordinator.ReaperWorkerThread.run(ReaperWorkerThread.java:78)

08:22:19,215 WARN [org.hibernate.resource.transaction.backend.jta.internal.synchronization.SynchronizationCallbackCoordinatorTrackingImpl] (Transaction Reaper Worker 0) HHH000451: Transaction afterCompletion called by a background thread; delaying afterCompletion processing unti l the original thread can handle it. [status=4]
08:22:19,216 WARN [org.hibernate.engine.jdbc.spi.SqlExceptionHelper] (default task-14) SQL Error: 0, SQLState: null
08:22:19,217 ERROR [org.hibernate.engine.jdbc.spi.SqlExceptionHelper] (default task-14) IJ031070: Transaction cannot proceed: STATUS_ROLLEDB ACK
08:22:19,220 WARN [org.hibernate.engine.jdbc.spi.SqlExceptionHelper] (default task-18) SQL Error: 50000, SQLState: HY000
08:22:19,220 ERROR [org.hibernate.engine.jdbc.spi.SqlExceptionHelper] (default task-18) General error: “java.lang.IllegalStateException: Thi s store is closed [1.4.197/4]”; SQL statement:
insert into KEYCLOAK_ROLE (CLIENT, CLIENT_REALM_CONSTRAINT, CLIENT_ROLE, DESCRIPTION, NAME, REALM, REALM_ID, ID) values (?, ?, ?, ?, ?, ?, ? , ?) [50000-197]
08:22:19,231 WARN [com.arjuna.ats.arjuna] (default task-14) ARJUNA012077: Abort called on already aborted atomic action 0:ffff0ad253b3:-471 0f4c8:60894d06:a63
08:22:19,251 ERROR [org.keycloak.services.error.KeycloakErrorHandler] (default task-18) Uncaught server error: org.keycloak.models.ModelExce ption: javax.persistence.PersistenceException: org.hibernate.exception.GenericJDBCException: could not execute statement
at org.keycloak.connections.jpa.PersistenceExceptionConverter.convert(PersistenceExceptionConverter.java:61)
at org.keycloak.connections.jpa.PersistenceExceptionConverter.invoke(PersistenceExceptionConverter.java:51)
at com.sun.proxy.$Proxy82.flush(Unknown Source)
at org.keycloak.models.jpa.JpaRealmProvider.addRealmRole(JpaRealmProvider.java:218)
at org.keycloak.storage.RoleStorageManager.addRealmRole(RoleStorageManager.java:122)
at org.keycloak.models.cache.infinispan.RealmCacheSession.addRealmRole(RealmCacheSession.java:608)
at org.keycloak.models.cache.infinispan.RealmCacheSession.addRealmRole(RealmCacheSession.java:603)
at org.keycloak.models.cache.infinispan.RealmAdapter.addRole(RealmAdapter.java:1033)
at org.keycloak.storage.ldap.mappers.membership.role.RoleLDAPStorageMapper.syncDataFromFederationProviderToKeycloak(RoleLDAPStorageM apper.java:141)
at org.keycloak.storage.ldap.LDAPStorageProviderFactory$1.lambda$run$0(LDAPStorageProviderFactory.java:506)
at org.wildfly.extension.undertow.security.SecurityContextAssociationHandler.handleRequest(SecurityContextAssociationHandler.java:78 )
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
at io.undertow.servlet.handlers.RedirectDirHandler.handleRequest(RedirectDirHandler.java:68)
at io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:132)
at io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:57)
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
at io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:46)
at io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandl er.java:64)
at io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:60)
at io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:77)
at io.undertow.security.handlers.NotificationReceiverHandler.handleRequest(NotificationReceiverHandler.java:50)
at io.undertow.security.handlers.AbstractSecurityContextAssociationHandler.handleRequest(AbstractSecurityContextAssociationHandler.j ava:43)
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
at org.wildfly.extension.undertow.security.jacc.JACCContextIdHandler.handleRequest(JACCContextIdHandler.java:61)
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
at org.wildfly.extension.undertow.deployment.GlobalRequestControllerHandler.handleRequest(GlobalRequestControllerHandler.java:68)
at io.undertow.servlet.handlers.SendErrorPageHandler.handleRequest(SendErrorPageHandler.java:52)
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
at io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:269)
at io.undertow.servlet.handlers.ServletInitialHandler.access$100(ServletInitialHandler.java:78)
at io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:133)
at io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:130)
at io.undertow.servlet.core.ServletRequestContextThreadSetupAction$1.call(ServletRequestContextThreadSetupAction.java:48)
at io.undertow.servlet.core.ContextClassLoaderSetupAction$1.call(ContextClassLoaderSetupAction.java:43)
at org.wildfly.extension.undertow.security.SecurityContextThreadSetupAction.lambda$create$0(SecurityContextThreadSetupAction.java:10 5)
at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploym entInfoService.java:1530)
at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploym entInfoService.java:1530)
at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploym entInfoService.java:1530)
at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploym entInfoService.java:1530)
at io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:249)
Caused by: javax.persistence.PersistenceException: org.hibernate.exception.GenericJDBCException: could not execute statement
at org.hibernate.internal.ExceptionConverterImpl.convert(ExceptionConverterImpl.java:154)
at org.hibernate.internal.ExceptionConverterImpl.convert(ExceptionConverterImpl.java:181)
at org.keycloak.connections.jpa.PersistenceExceptionConverter.invoke(PersistenceExceptionConverter.java:49)
… 99 more
Caused by: org.hibernate.exception.GenericJDBCException: could not execute statement
at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:47)
at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:113)
… 104 more
Caused by: org.h2.jdbc.JdbcSQLException: General error: “java.lang.IllegalStateException: This store is closed [1.4.197/4]”; SQL statement:
insert into KEYCLOAK_ROLE (CLIENT, CLIENT_REALM_CONSTRAINT, CLIENT_ROLE, DESCRIPTION, NAME, REALM, REALM_ID, ID) values (?, ?, ?, ?, ?, ?, ? , ?) [50000-197]
at org.h2.message.DbException.getJdbcSQLException(DbException.java:357)
at org.h2.message.DbException.get(DbException.java:168)
at org.h2.message.DbException.convert(DbException.java:307)
at org.h2.mvstore.db.MVTable.addRow(MVTable.java:736)
… 112 more
Caused by: java.lang.IllegalStateException: This store is closed [1.4.197/4]
at org.h2.mvstore.DataUtils.newIllegalStateException(DataUtils.java:870)
at org.h2.mvstore.MVStore.checkOpen(MVStore.java:2396)
at org.h2.mvstore.MVStore.getChunkIfFound(MVStore.java:915)
… 120 more
Caused by: java.lang.IllegalStateException: Reading from nio:/root/keycloak-12.0.4/standalone/data/keycloak.mv.db failed; file length -1 rea d length 1536 at 28242586 [1.4.197/1]
at org.h2.mvstore.DataUtils.newIllegalStateException(DataUtils.java:870)
at org.h2.mvstore.DataUtils.readFully(DataUtils.java:417)
at org.h2.mvstore.FileStore.readFully(FileStore.java:98)
at org.h2.mvstore.Page.read(Page.java:181)
at org.h2.mvstore.MVStore.readPage(MVStore.java:1936)

Caused by: java.nio.channels.ClosedChannelException
at sun.nio.ch.FileChannelImpl.ensureOpen(FileChannelImpl.java:110)
at sun.nio.ch.FileChannelImpl.read(FileChannelImpl.java:715)
at org.h2.store.fs.FileNio.read(FilePathNio.java:74)
at org.h2.mvstore.DataUtils.readFully(DataUtils.java:403)
… 14 more

Postgres:

15:48:32,216 WARN [com.arjuna.ats.arjuna] (Transaction Reaper) ARJUNA012117: TransactionReaper::check timeout for TX 0:ffffc0a80104:-71cd8958:608965fc:107 in state RUN
15:48:32,384 WARN [org.hibernate.resource.transaction.backend.jta.internal.synchronization.SynchronizationCallbackCoordinatorTrackingImpl] (Transaction Reaper Worker 0) HHH000451: Transaction afterCompletion called by a background thread; delaying afterCompletion processing until the original thread can handle it. [status=4]
15:48:32,385 WARN [com.arjuna.ats.arjuna] (Transaction Reaper Worker 0) ARJUNA012121: TransactionReaper::doCancellations worker Thread[Transaction Reaper Worker 0,5,main] successfully canceled TX 0:ffffc0a80104:-71cd8958:608965fc:107
15:48:32,399 WARN [com.arjuna.ats.arjuna] (Transaction Reaper) ARJUNA012117: TransactionReaper::check timeout for TX 0:ffffc0a80104:-71cd8958:608965fc:10d in state RUN
15:48:32,461 WARN [com.arjuna.ats.arjuna] (Transaction Reaper Worker 0) ARJUNA012121: TransactionReaper::doCancellations worker Thread[Transaction Reaper Worker 0,5,main] successfully canceled TX 0:ffffc0a80104:-71cd8958:608965fc:10d
15:48:43,187 WARN [com.arjuna.ats.arjuna] (Transaction Reaper) ARJUNA012117: TransactionReaper::check timeout for TX 0:ffffc0a80104:-71cd8958:608965fc:11e in state RUN
15:48:43,188 WARN [com.arjuna.ats.arjuna] (Transaction Reaper Worker 0) ARJUNA012095: Abort of action id 0:ffffc0a80104:-71cd8958:608965fc:11e invoked while multiple threads active within it.
15:48:43,219 WARN [com.arjuna.ats.arjuna] (Transaction Reaper Worker 0) ARJUNA012381: Action id 0:ffffc0a80104:-71cd8958:608965fc:11e completed with multiple threads - thread default task-2 was in progress with java.base@11.0.8/java.net.SocketInputStream.socketRead0(Native Method)
java.base@11.0.8/java.net.SocketInputStream.socketRead(SocketInputStream.java:115)
java.base@11.0.8/java.net.SocketInputStream.read(SocketInputStream.java:168)
java.base@11.0.8/java.net.SocketInputStream.read(SocketInputStream.java:140)
org.postgres@42.2.19//org.postgresql.core.VisibleBufferedInputStream.readMore(VisibleBufferedInputStream.java:161)
org.postgres@42.2.19//org.postgresql.core.VisibleBufferedInputStream.ensureBytes(VisibleBufferedInputStream.java:128)
org.postgres@42.2.19//org.postgresql.core.VisibleBufferedInputStream.ensureBytes(VisibleBufferedInputStream.java:113)
org.postgres@42.2.19//org.postgresql.core.VisibleBufferedInputStream.read(VisibleBufferedInputStream.java:73)
org.postgres@42.2.19//org.postgresql.core.PGStream.receiveChar(PGStream.java:443)
org.postgres@42.2.19//org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:2057)
org.postgres@42.2.19//org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:323)
org.postgres@42.2.19//org.postgresql.jdbc.PgStatement.executeInternal(PgStatement.java:481)
org.postgres@42.2.19//org.postgresql.jdbc.PgStatement.execute(PgStatement.java:401)
org.postgres@42.2.19//org.postgresql.jdbc.PgPreparedStatement.executeWithFlags(PgPreparedStatement.java:164)
org.postgres@42.2.19//org.postgresql.jdbc.PgPreparedStatement.executeUpdate(PgPreparedStatement.java:130)
org.jboss.ironjacamar.jdbcadapters@1.4.23.Final//org.jboss.jca.adapters.jdbc.WrappedPreparedStatement.executeUpdate(WrappedPreparedStatement.java:537)
org.hibernate@5.3.20.Final//org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.executeUpdate(ResultSetReturnImpl.java:175)
org.hibernate@5.3.20.Final//org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:3192)

15:48:43,297 WARN [com.arjuna.ats.arjuna] (Transaction Reaper Worker 0) ARJUNA012108: CheckedAction::check - atomic action 0:ffffc0a80104:-71cd8958:608965fc:11e aborting with 1 threads active!
15:48:43,656 WARN [org.hibernate.resource.transaction.backend.jta.internal.synchronization.SynchronizationCallbackCoordinatorTrackingImpl] (Transaction Reaper Worker 0) HHH000451: Transaction afterCompletion called by a background thread; delaying afterCompletion processing until the original thread can handle it. [status=4]
15:48:43,656 WARN [com.arjuna.ats.arjuna] (Transaction Reaper Worker 0) ARJUNA012121: TransactionReaper::doCancellations worker Thread[Transaction Reaper Worker 0,5,main] successfully canceled TX 0:ffffc0a80104:-71cd8958:608965fc:11e
15:48:43,687 WARN [com.arjuna.ats.arjuna] (Transaction Reaper) ARJUNA012117: TransactionReaper::check timeout for TX 0:ffffc0a80104:-71cd8958:608965fc:11e in state COMPLETE
15:48:43,661 WARN [com.arjuna.ats.arjuna] (default task-2) ARJUNA012077: Abort called on already aborted atomic action 0:ffffc0a80104:-71cd8958:608965fc:11e
15:48:43,940 WARN [com.arjuna.ats.arjuna] (default task-2) ARJUNA012077: Abort called on already aborted atomic action 0:ffffc0a80104:-71cd8958:608965fc:10d
15:48:43,947 ERROR [org.keycloak.services.error.KeycloakErrorHandler] (default task-2) Uncaught server error: javax.persistence.PersistenceException: org.hibernate.HibernateException: Transaction was rolled back in a different thread!
at org.hibernate@5.3.20.Final//org.hibernate.internal.ExceptionConverterImpl.convert(ExceptionConverterImpl.java:154)
at org.hibernate@5.3.20.Final//org.hibernate.query.internal.AbstractProducedQuery.list(AbstractProducedQuery.java:1575)
at org.hibernate@5.3.20.Final//org.hibernate.query.Query.getResultList(Query.java:132)
at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: org.hibernate.HibernateException: Transaction was rolled back in a different thread!
at org.hibernate@5.3.20.Final//org.hibernate.resource.transaction.backend.jta.internal.synchronization.SynchronizationCallbackCoordinatorTrackingImpl.processAnyDelayedAfterCompletion(SynchronizationCallbackCoordinatorTrackingImpl.java:90)

Any advice what to do?