You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ozone.apache.org by "Janus Chow (Jira)" <ji...@apache.org> on 2022/02/24 16:02:00 UTC

[jira] [Created] (HDDS-6374) Incorrect queueTime metrics of ReplicationTask

Janus Chow created HDDS-6374:
--------------------------------

             Summary: Incorrect queueTime metrics of ReplicationTask
                 Key: HDDS-6374
                 URL: https://issues.apache.org/jira/browse/HDDS-6374
             Project: Apache Ozone
          Issue Type: Bug
            Reporter: Janus Chow
            Assignee: Janus Chow


The current logic to calculate the queue time of a ReplicationTask is as follows:
{code:java}
(Instant.now().getNano() - task.getQueued().getNano()) / 1_000_000; {code}
But Instant's nano only records the nanosecond part, it's like operation of mod.

For example, if nano part of getQueued is 500_000_000,  and queue time is 600ms
{code:java}
// code placeholder
getQueued                500_000_000
in Queue                    600_000_000
getProcessed            1100_000_000
call getNano()             100_000_000{code}
Then the result of the code mentioned above would be (100_000_000 - 500_000_000) / 1_000_000, which is -400.

 

This ticket is to solve this bug by using Duration.between to get the correct queueTime.



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

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