You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@yunikorn.apache.org by "Craig Condit (Jira)" <ji...@apache.org> on 2022/03/30 16:26:00 UTC

[jira] [Updated] (YUNIKORN-1164) Fix inconsistent lock behavior in application.go

     [ https://issues.apache.org/jira/browse/YUNIKORN-1164?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Craig Condit updated YUNIKORN-1164:
-----------------------------------
    Description: 
The {{Application}} object in {{pkg/scheduler/objects/application.go}} has inconsistent locking in several places:
 * {{getPlaceholderAllocations()}} accesses the allocations map unlocked which might cause issues.

 * Usages of {{clearStateTimer()}} also should be checked.

 * {{HandleApplicationEvent()}} and {{OnStateChange()}} assume the lock is held. However, {{timeoutStateTimer()}} calls {{HandleApplicationEvent()}} with no lock held.

We should look for any other potential issues here as well.

  was:
The {{Application}} object in {{pkg/scheduler/objects/application.go}} has inconsistent locking in several places:
 * {{getPlaceholderAllocations() }}accesses the allocations map unlocked which might cause issues.

 * Usages of {{clearStateTimer()}} also should be checked.

 * {{HandleApplicationEvent()}} and {{OnStateChange()}} assume the lock is held. However, {{timeoutStateTimer()}} calls {{HandleApplicationEvent()}} with no lock held.

We should look for any other potential issues here as well.


> Fix inconsistent lock behavior in application.go
> ------------------------------------------------
>
>                 Key: YUNIKORN-1164
>                 URL: https://issues.apache.org/jira/browse/YUNIKORN-1164
>             Project: Apache YuniKorn
>          Issue Type: Bug
>          Components: core - scheduler
>            Reporter: Craig Condit
>            Priority: Major
>
> The {{Application}} object in {{pkg/scheduler/objects/application.go}} has inconsistent locking in several places:
>  * {{getPlaceholderAllocations()}} accesses the allocations map unlocked which might cause issues.
>  * Usages of {{clearStateTimer()}} also should be checked.
>  * {{HandleApplicationEvent()}} and {{OnStateChange()}} assume the lock is held. However, {{timeoutStateTimer()}} calls {{HandleApplicationEvent()}} with no lock held.
> We should look for any other potential issues here as well.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@yunikorn.apache.org
For additional commands, e-mail: issues-help@yunikorn.apache.org