org.apache.kylin.common.persistence.WriteConflictException: 
Overwriting conflict /user/admin_mock, expect old TS 1543976358968, but it is 
1543976359060

I dive into org.apache.kylin.rest.service.KylinUserService class, the 
updateUser method setEvictCacheFlag(true);

After getKylinUserManager().update(managedUser);

I suspect that next login will not hit cache, and the inner real authentication 
provider always  will  authenticate.


And the other place I think that is not reasonable is 
getKylinUserManager().update(managedUser);

Method,  the user.setLastModified(exist.getLastModified()); line is not 
reliable  in cluster mode because of constant update described above.


Which depends network notification to update inner user map cache.   When I 
comment setEvictCacheFlag(true);
 
And add exist = crud.reloadQuietly(user.getUsername()); line , seems everything 
is going right.



Reply via email to