I forgot to tell, it's essential for us, that the user keep their sessions over
restart or redeployment of new keycloak instances.
Maybe we're using it the wrong way or we missunderstood something about the
configuration.
Best regards,
Marie
Gesendet: Sonntag, 03. Dezember 2017 um 14:49 Uhr
Von: bauer_marie@gmx.net
An: keycloak-user@lists.jboss.org
Betreff: [keycloak-user] persistent sessions are lost after restart - problem with
infinispant file-base persistence
Hi,
we are using version 3.0.0.Final and configured our sessions to be file based persisted by
infinispan with the file store.
...
<subsystem xmlns="urn:jboss:domain:infinispan:4.0">
<cache-container name="keycloak"
jndi-name="infinispan/Keycloak">
<local-cache name="realms">
<eviction max-entries="10000" strategy="LRU"/>
</local-cache>
<local-cache name="users">
<eviction max-entries="10000" strategy="LRU"/>
</local-cache>
<local-cache name="sessions">
<file-store passivation="false" fetch-state="true"
purge="false"
relative-to="jboss.home.dir"
path="/infinistate/session"/>
</local-cache>
<local-cache name="offlineSessions">
<file-store passivation="false" fetch-state="true"
purge="false"
relative-to="jboss.home.dir"
path="/infinistate/offline-sessions"/>
</local-cache>
<local-cache name="loginFailures"/>
<local-cache name="work">
<file-store passivation="false" fetch-state="true"
purge="false"
relative-to="jboss.home.dir"
path="/infinistate/work"/>
</local-cache>
<local-cache name="authorization">
<eviction max-entries="100" strategy="LRU"/>
</local-cache>
<local-cache name="keys">
<eviction max-entries="1000" strategy="LRU"/>
<expiration max-idle="3600000"/>
</local-cache>
</cache-container>
...
</subsystem>
...
Since we are experiencing problems with that file based persistence we hoped this will be
resolved in newer versions.
There are error messages telling that there is a persistence problem:
ISPN000252: Error executing parallel store task"
Caused by: java.io.StreamCorruptedException: Unexpected byte found when reading an object:
52"
at
org.jboss.marshalling.river.RiverUnmarshaller.doReadNewObject(RiverUnmarshaller.java:1285)"
at
org.infinispan.marshall.core.MarshalledEntryImpl.getValue(MarshalledEntryImpl.java:61)"
at
org.jboss.marshalling.river.RiverUnmarshaller.readFields(RiverUnmarshaller.java:1745)"
at
org.infinispan.persistence.file.SingleFileStore.process(SingleFileStore.java:549)"
at java.util.concurrent.FutureTask.report(FutureTask.java:122)"
at
org.infinispan.persistence.file.SingleFileStore.process(SingleFileStore.java:531)"
at
org.infinispan.persistence.manager.PersistenceManagerImpl.processOnAllStores(PersistenceManagerImpl.java:432)"
at
org.infinispan.persistence.file.SingleFileStore.process(SingleFileStore.java:549)"
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)"
at
org.infinispan.executors.ExecutorAllCompletionService.pollUntilEmpty(ExecutorAllCompletionService.java:48)"
... 6 more"
at org.infinispan.persistence.file.SingleFileStore$2.call(SingleFileStore.java:537)"
at org.infinispan.persistence.file.SingleFileStore$2.call(SingleFileStore.java:531)"
at
org.infinispan.util.concurrent.WithinThreadExecutor.execute(WithinThreadExecutor.java:21)"
... 7 more"
at
java.util.concurrent.ExecutorCompletionService.submit(ExecutorCompletionService.java:181)"
Caused by: java.io.StreamCorruptedException: Unexpected byte found when reading an object:
52"
at
org.jboss.marshalling.river.RiverUnmarshaller.doReadObject(RiverUnmarshaller.java:224)"
at
org.jboss.marshalling.river.RiverUnmarshaller.readFields(RiverUnmarshaller.java:1745)"
at
org.infinispan.commons.marshall.jboss.AbstractJBossMarshaller.objectFromObjectStream(AbstractJBossMarshaller.java:134)"
at
org.infinispan.persistence.file.SingleFileStore.process(SingleFileStore.java:549)"
at
org.infinispan.executors.ExecutorAllCompletionService.pollUntilEmpty(ExecutorAllCompletionService.java:48)"
at java.util.concurrent.FutureTask.run(FutureTask.java:266)"
... 18 more"
Caused by: java.io.StreamCorruptedException: Unexpected byte found when reading an object:
52"
at
org.infinispan.persistence.manager.PersistenceManagerImpl.processOnAllStores(PersistenceManagerImpl.java:432)"
at java.lang.Thread.run(Thread.java:748)"
at
org.jboss.marshalling.river.RiverUnmarshaller.doReadNewObject(RiverUnmarshaller.java:1285)"
at
org.infinispan.marshall.core.MarshalledEntryImpl.unmarshall(MarshalledEntryImpl.java:116)"
at
org.infinispan.marshall.core.MarshalledEntryImpl.unmarshall(MarshalledEntryImpl.java:114)"
at org.infinispan.persistence.PersistenceUtil.convert(PersistenceUtil.java:133)"
at
org.jboss.marshalling.AbstractObjectInput.readObject(AbstractObjectInput.java:41)"
at
org.infinispan.persistence.file.SingleFileStore.process(SingleFileStore.java:549)"
in field loginUsername"
... 6 more"
at
org.infinispan.persistence.util.PersistenceManagerCloseableSupplier$SupplierCacheLoaderTask.processEntry(PersistenceManagerCloseableSupplier.java:75)"
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)"
at
org.jboss.marshalling.river.RiverUnmarshaller.doReadObject(RiverUnmarshaller.java:754)"
at
org.infinispan.marshall.core.VersionAwareMarshaller.objectFromByteBuffer(VersionAwareMarshaller.java:101)"
at
org.infinispan.commons.marshall.jboss.AbstractJBossMarshaller.objectFromObjectStream(AbstractJBossMarshaller.java:134)"
at
org.infinispan.marshall.core.MarshalledEntryImpl.unmarshall(MarshalledEntryImpl.java:114)"
at
org.jboss.marshalling.river.RiverUnmarshaller.doReadNewObject(RiverUnmarshaller.java:1285)"
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)"
at java.util.concurrent.FutureTask.get(FutureTask.java:192)"
Caused by: org.infinispan.persistence.spi.PersistenceException:
java.io.StreamCorruptedException: Unexpected byte found when reading an object: 52"
at
org.infinispan.executors.ExecutorAllCompletionService.pollUntilEmpty(ExecutorAllCompletionService.java:48)"
at
org.infinispan.util.concurrent.WithinThreadExecutor.execute(WithinThreadExecutor.java:21)"
... 7 more"
This causes a high CPU load.
As we plan to update to 3.3.0.Final I tried the CR2 earlier. Everything seemed to work
fine, but the storeed sessions are lost.
So I tried 3.2.0 which has bad errors about persistence and class not found.
So I tried 3.1.1 - could not get the image.
So I tried 3.1.0 - this could read the persisted sessions, I could see them in the
administration console.
Is anyone experiencing the same problem? Or is there a solution?
Thanks
Marie
_______________________________________________
keycloak-user mailing list
keycloak-user(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/keycloak-user