You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@aurora.apache.org by "Kevin Sweeney (JIRA)" <ji...@apache.org> on 2014/10/07 02:52:33 UTC

[jira] [Created] (AURORA-800) consider using Guava's CycleDetectingLockFactory

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)