[keycloak-user] Exception thrown when deleting user through API (when Keycloak servers are highly available)
Lohitha Chiranjeewa
kalc04 at gmail.com
Fri Jun 12 01:33:42 EDT 2015
Hi,
We're running into a bit of a problem when trying to delete users through
the API. The error returned is of HTML format with 500 error code:
<html><head><title>Error</title></head><body>Internal Server
Error</body></html>
Please note:
- We're using Infinispan for userSessions, realmCache and userCache. Rest
of the data is in MySQL.
- Issue only occurs when Keycloak servers are highly available (2 servers
in our case). Works fine when only one server is up.
Logs reveal that this is possibly a serialization issue related to
Infinispan:
[2015-06-12 04:56:54.0303], ERROR,
org.infinispan.interceptors.InvocationContextInterceptor default task-11 -
ISPN000136: Execution error: org.infinispan.commons.CacheException:
java.lang.RuntimeException: Failure to marshal argument(s)
at
org.infinispan.commons.util.Util.rewrapAsCacheException(Util.java:581)
at
org.infinispan.remoting.transport.jgroups.CommandAwareRpcDispatcher.invokeRemoteCommand(CommandAwareRpcDispatcher.java:176)
at
org.infinispan.remoting.transport.jgroups.JGroupsTransport.invokeRemotely(JGroupsTransport.java:521)
at
org.infinispan.remoting.rpc.RpcManagerImpl.invokeRemotely(RpcManagerImpl.java:281)
Caused by: java.lang.RuntimeException: Failure to marshal argument(s)
at
org.infinispan.remoting.transport.jgroups.CommandAwareRpcDispatcher.marshallCall(CommandAwareRpcDispatcher.java:333)
at
org.infinispan.remoting.transport.jgroups.CommandAwareRpcDispatcher.processSingleCall(CommandAwareRpcDispatcher.java:352)
at
org.infinispan.remoting.transport.jgroups.CommandAwareRpcDispatcher.invokeRemoteCommand(CommandAwareRpcDispatcher.java:167)
... 94 more
Caused by: org.infinispan.commons.marshall.NotSerializableException:
org.keycloak.models.sessions.infinispan.entities.LoginFailureKey
Caused by: an exception which occurred:
in object
org.keycloak.models.sessions.infinispan.entities.LoginFailureKey at f42bdd72
-> toString =
org.keycloak.models.sessions.infinispan.entities.LoginFailureKey at f42bdd72
in object org.infinispan.commands.write.RemoveCommand at 914fd0ce
-> toString =
RemoveCommand{key=org.keycloak.models.sessions.infinispan.entities.LoginFailureKey at f42bdd72,
value=null, flags=null, valueMatcher=MATCH_ALWAYS}
in object org.infinispan.commands.remote.SingleRpcCommand at bfee4c5c
-> toString = SingleRpcCommand{cacheName='loginFailures',
command=RemoveCommand{key=org.keycloak.models.sessions.infinispan.entities.LoginFailureKey at f42bdd72,
value=null, flags=null, valueMatcher=MATCH_ALWAYS}}
Also there's a DEBUG log as follows:
[2015-06-12 04:56:54.0301], DEBUG,
org.infinispan.marshall.core.VersionAwareMarshaller default task-11 -
Object is not serializable: java.io.NotSerializableException:
org.keycloak.models.sessions.infinispan.entities.LoginFailureKey
at
org.jboss.marshalling.river.RiverMarshaller.doWriteObject(RiverMarshaller.java:860)
at
org.jboss.marshalling.AbstractObjectOutput.writeObject(AbstractObjectOutput.java:58)
at
org.jboss.marshalling.AbstractMarshaller.writeObject(AbstractMarshaller.java:111)
at
org.infinispan.marshall.exts.ReplicableCommandExternalizer.writeCommandParameters(ReplicableCommandExternalizer.java:57)
at
org.infinispan.marshall.exts.ReplicableCommandExternalizer.writeObject(ReplicableCommandExternalizer.java:42)
at
org.infinispan.marshall.exts.ReplicableCommandExternalizer.writeObject(ReplicableCommandExternalizer.java:30)
at
org.infinispan.marshall.core.ExternalizerTable$ExternalizerAdapter.writeObject(ExternalizerTable.java:395)
at
org.jboss.marshalling.river.RiverMarshaller.doWriteObject(RiverMarshaller.java:138)
Our Keycloak HA system works fine except for this issue. Please advise on
how tackle this.
Regards,
Lohitha.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/keycloak-user/attachments/20150612/70b2b0ea/attachment.html
More information about the keycloak-user
mailing list