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

Surya Hebbar closed IMPALA-13787.
---------------------------------

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

Reply via email to