Marvin, We already applied the patch for CAS-782. The deadlock still occurs in clustered environment.
The reason being that the CentralAuthenticationService itself deletes the expired tickets and when certain condition occures (two users, each on a different node in the cluster, have expired tickets), the CentralAuthenticationService tries to delete from TICKETGRANTINGTICKET table from each node which causes the deadlock. >From experience, this situation is very rare but in our environment it >happened at least once (Note, that the scheduler was disabled at the time). It seems a bug that the CentralAuthenticationService has to delete those tickets. Worst case, I think it should create a new ticket and ignore the expired one (use an extra ''WHERE'' clause when checking for existing tickets?) and leave it to the RegistryCleaner to actually delete the tickets. We're testing to see if the JTA Transaction Manager will be able to manage these transactions gracefully. (Initially the need to use JTA was dictated by JdbcStatisticManager and JpaTicketRegistry requiring DataSourceTransactionManager and JpaTransactionManager respectively - that would cause the deadlocks on updating COM_STATISTICS table - and JTA being the transaction manager that can be used in both cases). Thank you, AT. -- You are currently subscribed to [email protected] as: [email protected] To unsubscribe, change settings or access archives, see http://www.ja-sig.org/wiki/display/JSG/cas-user
