[ https://issues.apache.org/jira/browse/HBASE-6476?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13449489#comment-13449489 ]
nkeywal commented on HBASE-6476: -------------------------------- I think we're actually on the same line :-). In src/main code, we should NEVER use System.currentTimeMillis(). In src/test code, we sometimes use it to measure the time spent in the function. For example: {noformat} // some test code final long max = System.currentTimeMillis() + 10000; while (!condition){ // condition is modified by another thread from src/main Assert.assertTrue( System.currentTimeMillis() < max, " condition not met after 10s, exiting); Thread.sleep(1) } // more test code {noformat} I've wrote quite a lot of code like this. It helps the test to fail fast and clearly. In a way, that comes from JUnit/Surefire limitations. But at the end of the day, there is no reason to use EnvEdge here. On the contrary, we should NOT use it here. Because we could imagine a test that needs both to have a specific EnvEdge to fake the time for the src/main method, but still need to check that we're not spending too much 'real' time in it. What do you think? > Replace all occurrances of System.currentTimeMillis() with EnvironmentEdge > equivalent > ------------------------------------------------------------------------------------- > > Key: HBASE-6476 > URL: https://issues.apache.org/jira/browse/HBASE-6476 > Project: HBase > Issue Type: Bug > Reporter: Lars Hofhansl > Assignee: Lars Hofhansl > Priority: Minor > Fix For: 0.96.0 > > Attachments: 6476.txt, 6476-v2.txt, 6476-v2.txt > > > There are still some areas where System.currentTimeMillis() is used in HBase. > In order to make all parts of the code base testable and (potentially) to be > able to configure HBase's notion of time, this should be generally be > replaced with EnvironmentEdgeManager.currentTimeMillis(). > How hard would it be to add a maven task that checks for that, so we do not > introduce System.currentTimeMillis back in the future? -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira