Maxim Gekk created SPARK-26817:
----------------------------------

             Summary: Use System.nanoTime to measure time intervals
                 Key: SPARK-26817
                 URL: https://issues.apache.org/jira/browse/SPARK-26817
             Project: Spark
          Issue Type: Improvement
          Components: Spark Core
    Affects Versions: 2.4.0
            Reporter: Maxim Gekk


Replace System.currentTimeMillis() by System.nanoTime in time intervals 
measurements. System.currentTimeMillis() returns current wallclock time and 
will follow changes to the system clock. Thus, negative wallclock adjustments 
can cause timeouts to "hang" for a long time (until wallclock time has caught 
up to its previous value again). This can happen when ntpd does a "step" after 
the network has been disconnected for some time. The most canonical example is 
during system bootup when DHCP takes longer than usual. This can lead to 
failures that are really hard to understand/reproduce. System.nanoTime() is 
guaranteed to be monotonically increasing irrespective of wallclock changes. 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@spark.apache.org
For additional commands, e-mail: issues-h...@spark.apache.org

Reply via email to