Hi,
We're using Keycloak 1.9.0.Final as of now. I had a quick check on our logs
and it seems that we have performed update calls to the same user almost at
the same time when this error has popped up. Could be a programmatical
error on one of our clients.
In any case, the occurrences of this error are very rare. Just wanted to
note it down here for your exposure. Thanks for the response.
Regards,
Lohitha.
On Fri, Mar 18, 2016 at 2:49 PM, Marek Posolda <mposolda(a)redhat.com> wrote:
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.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.
_______________________________________________
keycloak-user mailing
listkeycloak-user@lists.jboss.orghttps://lists.jboss.org/mailman/listinfo/keycloak-user