You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@oozie.apache.org by "Peter Bacsko (JIRA)" <ji...@apache.org> on 2018/11/12 16:16:00 UTC

[jira] [Comment Edited] (OOZIE-3380) TestCoordMaterializeTransitionXCommand failure after DST change date

    [ https://issues.apache.org/jira/browse/OOZIE-3380?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16684016#comment-16684016 ] 

Peter Bacsko edited comment on OOZIE-3380 at 11/12/18 4:15 PM:
---------------------------------------------------------------

{noformat}
    private static final int TIME_IN_MIN = 60 * 1000;
    private static final int TIME_IN_HOURS = TIME_IN_MIN * 60;
    private static final int TIME_IN_DAY = TIME_IN_HOURS * 24;
{noformat}

Can't we just use {{java.util.concurrent.TimeUnit}} for such calculations? It's so much nicer:
{noformat}
    private static final int TIME_IN_MIN = TimeUnit.SECONDS(60).toMillis();
    private static final int TIME_IN_HOURS = TimeUnit.HOURS(1).toMillis();
    private static final int TIME_IN_DAY = TimeUnit.DAYS(1).toMillis();
{noformat}



was (Author: pbacsko):
{noformat}
    private static final int TIME_IN_MIN = 60 * 1000;
    private static final int TIME_IN_HOURS = TIME_IN_MIN * 60;
    private static final int TIME_IN_DAY = TIME_IN_HOURS * 24;
{noformat}

Can't we just use {{java.util.concurrent.TimeUnit}} for such calculations? It's so much nicer:
{noformat}
    private static final int TIME_IN_MIN = TimeUnit.SECONDS(60).toMillis();
    private static final int TIME_IN_HOURS = TimeUnit..HOURS(1).toMillis();
    private static final int TIME_IN_DAY = TimeUnit.DAYS(1).toMillis();
{noformat}


> TestCoordMaterializeTransitionXCommand failure after DST change date
> --------------------------------------------------------------------
>
>                 Key: OOZIE-3380
>                 URL: https://issues.apache.org/jira/browse/OOZIE-3380
>             Project: Oozie
>          Issue Type: Bug
>    Affects Versions: trunk
>            Reporter: Andras Salamon
>            Assignee: Andras Salamon
>            Priority: Major
>         Attachments: OOZIE-3380-01.patch, OOZIE-3380-02.patch
>
>
> TestCoordMaterializeTransitionXCommand.testMaterializationLookup failed for OOZIE-3377 and OOZIE-3378. It also fails for the trunk:
> {noformat}
> junit.framework.AssertionFailedError: 
> Expected :Mon Nov 05 17:21:58 CET 2018
> Actual   :Sun Nov 04 17:21:58 CET 2018
>  <Click to see difference>
> 	at junit.framework.Assert.fail(Assert.java:57)
> 	at junit.framework.Assert.failNotEquals(Assert.java:329)
> 	at junit.framework.Assert.assertEquals(Assert.java:78)
> 	at junit.framework.Assert.assertEquals(Assert.java:86)
> 	at junit.framework.TestCase.assertEquals(TestCase.java:253)
> 	at org.apache.oozie.command.coord.TestCoordMaterializeTransitionXCommand.testMaterializationLookup(TestCoordMaterializeTransitionXCommand.java:691)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> 	at java.lang.reflect.Method.invoke(Method.java:498)
> 	at junit.framework.TestCase.runTest(TestCase.java:176)
> 	at junit.framework.TestCase.runBare(TestCase.java:141)
> 	at junit.framework.TestResult$1.protect(TestResult.java:122)
> 	at junit.framework.TestResult.runProtected(TestResult.java:142)
> 	at junit.framework.TestResult.run(TestResult.java:125)
> 	at junit.framework.TestCase.run(TestCase.java:129)
> 	at junit.framework.TestSuite.runTest(TestSuite.java:255)
> 	at junit.framework.TestSuite.run(TestSuite.java:250)
> 	at org.junit.internal.runners.JUnit38ClassRunner.run(JUnit38ClassRunner.java:84)
> 	at org.junit.runner.JUnitCore.run(JUnitCore.java:160)
> 	at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:68)
> 	at com.intellij.rt.execution.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:47)
> 	at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:242)
> 	at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:70)
> {noformat}
> This test uses the following dates for testing:
> {noformat}
> startTime = new Date(new Date().getTime() - TIME_IN_DAY * 3);
> endTime = new Date(startTime.getTime() + TIME_IN_DAY * 3);       
> Date next = new Date(startTime.getTime() + TIME_IN_DAY * 3);
> {noformat}
> start time is before the DST change date, end time is after the DST change date. If I shift the interval by two days (so start and end are both after the DST change date) the test works correctly.



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