Siyao Meng created HDDS-16926:
---------------------------------

             Summary: Cancel pending health check on NodeStateManager close
                 Key: HDDS-16926
                 URL: https://issues.apache.org/jira/browse/HDDS-16926
             Project: Apache Ozone
          Issue Type: Improvement
          Components: SCM
            Reporter: Siyao Meng
            Assignee: Siyao Meng


{{NodeStateManager}} schedules its health check as a one-shot task 
{{ozone.scm.heartbeat.thread.interval}} (3s by default) in the future, and 
reschedules it after each run. {{close()}} calls 
{{executorService.shutdown()}}, which still lets already scheduled delayed 
tasks run, and then {{awaitTermination}}. As a result {{close()}} blocks until 
the pending health check fires, up to 3s.

This delays every SCM stop, and every test that closes a real 
{{SCMNodeManager}} pays the wait once per test. For example 
{{TestDeletedBlockLog}} takes about 100s in CI, more than 80s of which is this 
wait.

Proposed fix: cancel the pending health check in {{close()}} before shutting 
down the executor.



--
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