Kevin Sweeney created AURORA-800:
------------------------------------
Summary: consider using Guava's CycleDetectingLockFactory
Key: AURORA-800
URL: https://issues.apache.org/jira/browse/AURORA-800
Project: Aurora
Issue Type: Story
Components: Reliability, Scheduler
Reporter: Kevin Sweeney
Priority: Minor
Occasional scheduler deadlock bugs would have benefited from proactive
detection. Guava provides a utility class,
[CycleDetectingLockFactory|http://docs.guava-libraries.googlecode.com/git/javadoc/com/google/common/util/concurrent/CycleDetectingLockFactory.html],
which is well-suited to this task.
Keeping with our general practice of leaving all assertions enabled at runtime
unless data suggests performance is impacted, I propose replacing almost all
usage of the {{synchronized}} keyword or a {{ReentrantReadWriteLock}} with a
{{CycleDetectingLockFactory}}-managed variant unless we have data to suggest
performance would be adversely impacted.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)