[keycloak-user] Cache related exception gets thrown when updating user

Marek Posolda mposolda at redhat.com
Fri Mar 18 05:19:45 EDT 2016


Hi,

It seems that you're trying to update same user by 2 concurrent 
transactions, hence there is OptimisticLockException thrown by Hibernate.

On which version are you? We had some cache fixes for user cache in 
latest master, but that's related to infinispan cache. You can try with 
latest master, but not sure if it helps with the scenario you're testing 
as the error is at DB level. Not sure if Keycloak should somehow improve 
the support of the scanario when user is updated by 2 transactions at 
the same time. Doesn't look like very common thing to me.

Marek

On 17/03/16 11:03, Lohitha Chiranjeewa wrote:
> 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.SynchronousDispatcherdefault  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.AuthenticationManagerdefault  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.AdminRootdefault  task-13 - authenticated admin accessfor: superuser
> [2016-03-17 07:50:36.0591], DEBUG, org.keycloak.services.resources.Corsdefault  task-13 - No origin returning
> [2016-03-17 07:50:36.0636], DEBUG, org.infinispan.interceptors.InvalidationInterceptordefault  task-13 - Cache [localhost] replicating InvalidateCommand{keys=[e503cb04-3080-4e90-a4b4-80adcd46b81c]}
> [2016-03-17 07:50:36.0637], ERROR, org.keycloak.services.resources.ModelExceptionMapperdefault  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.
>
>
>
> _______________________________________________
> keycloak-user mailing list
> keycloak-user at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/keycloak-user

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/keycloak-user/attachments/20160318/8c8fbfe9/attachment.html 


More information about the keycloak-user mailing list