> One of my CAS Servers (3.2.1) is having a problem with deadlocks. It's a known issue and appears to be caused in part by the design of JpaTicketRegistry. The root problem is lock escalation caused by parent-child relationships between TGT and ST tables. An example flow that illustrates the problem:
1. Obtain read lock on parent TGT row 2. Insert ST with FK reference to TGT row 3. Upgrade lock on parent TGT to update lastUsedTimestamp and other metadata The problem is at 3. While this flow doesn't make clear how a circular lock condition is obtained, I'm fairly certain the root cause is lock escalation. Additionally, the locking details are entirely platform specific. Oracle handles this the best, followed by MSSQL, with PostgreSQL coming in distant third. I hope to address these design issues for CAS 4, but you should try to triage the problem for now. I'd recommend testing additional indices or dropping the FK reference between TGT and ST -- that helped in the case of PostgreSQL. M -- 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
