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

Reply via email to