Description
Eric Henry (Migrated from SEC-3157) said:
When running project integration tests concurrently, I'm seeing a lot of DeadlockLoserDataAccessExceptions. After a good amount of research I came across this StackOverflow answer.
Using the JdbcMutableAclService.createAcl(ObjectIdentity) method is the only way to create and ACL, but it doesn't create ACEs at the same time. In order to persist the ACEs you have to call JdbcMutableAclService.updateAcl(MutableAcl). One of the first things the updateAcl method does is delete entries. Since there are no ACEs yet we end up in the situation described by the StackOverflow answer listed above. I have included some information from MySQL that I used to research the issue.
I created a pull request on GitHub, but I need to write a test that reproduces the issue (I have done this with in my project environment, just not for the Spring Security project)