You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues-all@impala.apache.org by "Surya Hebbar (Jira)" <ji...@apache.org> on 2025/02/23 23:08:00 UTC

[jira] [Work started] (IMPALA-13787) Compensate for inaccuracies of EC2 instance's clock in runtime-profile-test

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

Work on IMPALA-13787 started by Surya Hebbar.
---------------------------------------------
> Compensate for inaccuracies of EC2 instance's clock in runtime-profile-test
> ---------------------------------------------------------------------------
>
>                 Key: IMPALA-13787
>                 URL: https://issues.apache.org/jira/browse/IMPALA-13787
>             Project: IMPALA
>          Issue Type: Bug
>            Reporter: Surya Hebbar
>            Assignee: Surya Hebbar
>            Priority: Major
>
> The resolution of the clock in EC2 instance is less. As mentioned in stopwatch.h, which is used to measure the time for all the profile's counters.
> [https://github.com/apache/impala/blob/cfeb57c128c7f514f3433a0399966f46a49a1a4a/be/src/util/stopwatch.h#L102C1-L111C18]
> {code:java}
> /// Stop watch for reporting elapsed time in nanosec based on clock_gettime (Linux) or
> /// MonotonicNanos (Apple).  It is not affected by cpu frequency changes and it is not
> /// affected by user setting the system clock.  A monotonic clock represents monotonic
> /// time since some unspecified starting point.  It is good for computing elapsed time.
> ///
> /// The time values are in nanoseconds.  For most machine configurations, the clock
> /// resolution will be 1 nanosecond.  We fall back to low resolution in configurations
> /// where the clock is expensive.  For those machine configurations (notably EC2), the
> /// clock resolution will be that of the system jiffy, which is between 1 and 10
> /// milliseconds.
> {code}
> For the test in IMPALA-13751, it was suggested to reduce the sleep time between events to 5ms, which was less than the clock's accuracy. This was to make the test run faster.
> [https://gerrit.cloudera.org/c/22482/3/be/src/util/runtime-profile-test.cc#2001]
> Hence, the tests ran successfully on machines with clocks having higher resolution clocks(>5ms).
> So, irrespective of a deterministic or randomized test, the test fails on an EC2 instance or an instance with less accuracy clock than <=5ms.
> The 2 possible small fixes are,
> 1. For the test, increase the sleep timer between events from 5ms to 10ms
> or
> 2. Include inaccuracies of EC2 instance's clock, and expect inaccurate timestamp values for events(use EXPECT_GE instead of EXPECT_GT)



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

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