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

Chinmay Kulkarni updated PHOENIX-5981:
--------------------------------------
    Fix Version/s: 5.1.0

> Wrong multiple counting of resultSetTimeMs and wallclockTimeMs in 
> OverallQueryMetrics
> -------------------------------------------------------------------------------------
>
>                 Key: PHOENIX-5981
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-5981
>             Project: Phoenix
>          Issue Type: Bug
>    Affects Versions: 4.15.0
>            Reporter: Chinmay Kulkarni
>            Assignee: Chinmay Kulkarni
>            Priority: Major
>              Labels: metrics, phoenix-hardening, quality-improvement
>             Fix For: 5.1.0, 4.16.0
>
>         Attachments: PHOENIX-5981-4.x-v1.patch, PHOENIX-5981-4.x-v2.patch, 
> PHOENIX-5981-4.x-v3.patch, PHOENIX-5981-4.x-v4.patch, 
> PHOENIX-5981-master-v1.patch
>
>          Time Spent: 40m
>  Remaining Estimate: 0h
>
> We update wallClockTimeMS and resultSetTimeMS when we reach the last row in 
> our ResultSet iterations (see 
> [this|https://github.com/apache/phoenix/blob/dcc88af8acc2ba8df10d2e9d498ab3646fdf0a78/phoenix-core/src/main/java/org/apache/phoenix/jdbc/PhoenixResultSet.java#L878-L881]).
>  However, this is also called inside PhoenixResultSet.close(), see 
> [this|https://github.com/apache/phoenix/blob/dcc88af8acc2ba8df10d2e9d498ab3646fdf0a78/phoenix-core/src/main/java/org/apache/phoenix/jdbc/PhoenixResultSet.java#L214-L215].
> The problem is, these calls in-turn add elapsedTime again 
> ([endQuery|https://github.com/apache/phoenix/blob/dcc88af8acc2ba8df10d2e9d498ab3646fdf0a78/phoenix-core/src/main/java/org/apache/phoenix/monitoring/OverAllQueryMetrics.java#L86]
>  and 
> [stopResultsetWatch|https://github.com/apache/phoenix/blob/dcc88af8acc2ba8df10d2e9d498ab3646fdf0a78/phoenix-core/src/main/java/org/apache/phoenix/monitoring/OverAllQueryMetrics.java#L95])
>  and so these metrics get 2X the value they should. Ideally we should change 
> the metrics only if the stopWatch was running before calling stopWatch.stop 
> or else we will count it multiple times.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to