Hi,
We were executing the 'Update User' API call when the following exception
got thrown:
[2016-03-17 07:50:36.0590], DEBUG,
org.jboss.resteasy.core.SynchronousDispatcher default task-13 -
RESTEASY002315: PathInfo:
/admin/realms/xxxx/users/e503cb04-3080-4e90-a4b4-80adcd46b81c
[2016-03-17 07:50:36.0590], DEBUG,
org.keycloak.services.managers.AuthenticationManager default task-13 -
token active - active: true, issued-at: 1,458,201,036, not-before: 0
[2016-03-17 07:50:36.0590], DEBUG,
org.keycloak.services.resources.admin.AdminRoot default task-13 -
authenticated admin access for: superuser
[2016-03-17 07:50:36.0591], DEBUG,
org.keycloak.services.resources.Cors default task-13 - No origin
returning
[2016-03-17 07:50:36.0636], DEBUG,
org.infinispan.interceptors.InvalidationInterceptor default task-13 -
Cache [localhost] replicating
InvalidateCommand{keys=[e503cb04-3080-4e90-a4b4-80adcd46b81c]}
[2016-03-17 07:50:36.0637], ERROR,
org.keycloak.services.resources.ModelExceptionMapper default task-13 -
javax.persistence.OptimisticLockException: Batch update returned
unexpected row count from update [0]; actual row count: 0; expected:
1: org.keycloak.models.ModelException:
javax.persistence.OptimisticLockException: Batch update returned
unexpected row count from update [0]; actual row count: 0; expected: 1
at
org.keycloak.connections.jpa.PersistenceExceptionConverter.convert(PersistenceExceptionConverter.java:61)
at
org.keycloak.connections.jpa.JpaKeycloakTransaction.commit(JpaKeycloakTransaction.java:47)
at
org.keycloak.services.DefaultKeycloakTransactionManager.commit(DefaultKeycloakTransactionManager.java:95)
at
org.keycloak.services.resources.admin.UsersResource.updateUser(UsersResource.java:170)
at sun.reflect.GeneratedMethodAccessor435.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:139)
at
org.jboss.resteasy.core.ResourceMethodInvoker.invokeOnTarget(ResourceMethodInvoker.java:295)
at
org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:249)
at
org.jboss.resteasy.core.ResourceLocatorInvoker.invokeOnTargetObject(ResourceLocatorInvoker.java:138)
at
org.jboss.resteasy.core.ResourceLocatorInvoker.invoke(ResourceLocatorInvoker.java:107)
We're using a clustered Infinispan system as our cache. This error doesn't
get thrown often, nor can we point out a specific scenario. However, we
have now seen this a few times. What could be the reason for this?
Regards,
Lohitha.