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

Sammi Chen updated HDDS-14855:
------------------------------
    Description: 
ThrottledAsyncChecker has checksInProgress and completedChecks to track the 
check task in running, and the lastest check task result, while both have 
thread unsafe data type. 

Synchronization is added when element is removed from  checksInProgress and 
completedChecks, but there is no synchronization when element in added during 
schedule() call. So add synchronization in ThrottledAsyncChecker#schedule to 
avoid schedule multiple times for same target.

  was:
ThrottledAsyncChecker has checksInProgress and completedChecks to track the 
check task in running, and the lastest check task result, while both have 
thread unsafe data type. 

Synchronization is added when element is removed from  checksInProgress and 
completedChecks, but there is no synchronization when element in added during 
schedule() call. 


> Add synchronization in ThrottledAsyncChecker#schedule to avoid schedule 
> multiple times for same target
> ------------------------------------------------------------------------------------------------------
>
>                 Key: HDDS-14855
>                 URL: https://issues.apache.org/jira/browse/HDDS-14855
>             Project: Apache Ozone
>          Issue Type: Bug
>            Reporter: Sammi Chen
>            Assignee: Sammi Chen
>            Priority: Major
>
> ThrottledAsyncChecker has checksInProgress and completedChecks to track the 
> check task in running, and the lastest check task result, while both have 
> thread unsafe data type. 
> Synchronization is added when element is removed from  checksInProgress and 
> completedChecks, but there is no synchronization when element in added during 
> schedule() call. So add synchronization in ThrottledAsyncChecker#schedule to 
> avoid schedule multiple times for same target.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to