aurora-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Mehrdad Nurolahzade (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (AURORA-1820) Reduce storage write lock contention by adopting Double-Checked Locking pattern in TimedOutTaskHandler
Date Tue, 15 Nov 2016 19:57:58 GMT

    [ https://issues.apache.org/jira/browse/AURORA-1820?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15668103#comment-15668103
] 

Mehrdad Nurolahzade commented on AURORA-1820:
---------------------------------------------

I am seeing multiple times wait time to acquire the storage write lock ({{log_storage_write_lock_wait}})
than it takes to perform the work while holding it ({{db_storage_write_operation}}). I am
guessing by reducing the locking frequency (where possible) we might yield improved performance.

Task timeouts is not special in any sense; it's just a low hanging fruit.

> Reduce storage write lock contention by adopting Double-Checked Locking pattern in TimedOutTaskHandler
> ------------------------------------------------------------------------------------------------------
>
>                 Key: AURORA-1820
>                 URL: https://issues.apache.org/jira/browse/AURORA-1820
>             Project: Aurora
>          Issue Type: Task
>          Components: Efficiency, Scheduler
>            Reporter: Mehrdad Nurolahzade
>            Assignee: Mehrdad Nurolahzade
>            Priority: Critical
>
> {{TimedOutTaskHandler}} acquires storage write lock for every task every time they transition
to a transient state. It then verifies after a default time-out period of 5 minutes if the
task has transitioned out of the transient state. 
> The verification step takes place while holding the storage write lock. In over 99% of
cases the logic short-circuits and returns from {{StateManagerImpl.updateTaskAndExternalState()}}
once it learns task has transitioned out of the transient state.
> Reduce storage write lock contention by adopting [Double-Checked Locking|https://en.wikipedia.org/wiki/Double-checked_locking]
pattern in {{TimedOutTaskHandler.run()}}.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message