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

Satish Subhashrao Saley commented on OOZIE-2720:
------------------------------------------------

In the following code, I looked at log statements and I see that sometimes "Num 
jobs to materialize" is > 0 (And the job id is same as in the test case), and 
we enters into the loop. In the loop, we modify last modified time. Then, it 
just matter of when the update statement gets executed. If it gets executed 
before we our assert statements in test, test fails. 

I do not understand the purpose of test fully. But looking at its name 
"testMaxMatThrottleNotPicked", I think we are testing that actions should not 
get picked for materialization due to max throttle value.

I am putting max throttle as 0, so that no action will get picked for 
materialization and hence, not modifying the last modified time of job.

{code}
Class - CoordMaterializeTriggerService.CoordMaterializeTriggerRunnable.

private void materializeCoordJobs(Date currDate, int limit, XLog LOG, 
List<UpdateEntry> updateList)
                throws JPAExecutorException {
            try {
                List<CoordinatorJobBean> materializeJobs = 
CoordJobQueryExecutor.getInstance().getList(
                        CoordJobQuery.GET_COORD_JOBS_OLDER_FOR_MATERIALIZATION, 
currDate, limit);
                LOG.info("CoordMaterializeTriggerService - Curr Date= " + 
DateUtils.formatDateOozieTZ(currDate)
                        + ", Num jobs to materialize = " + 
materializeJobs.size());
                for (CoordinatorJobBean coordJob : materializeJobs) {
                    Services.get().get(InstrumentationService.class).get()
                            .incr(INSTRUMENTATION_GROUP, 
INSTR_MAT_JOBS_COUNTER, 1);
                    queueCallable(new 
CoordMaterializeTransitionXCommand(coordJob.getId(), materializationWindow));
                    coordJob.setLastModifiedTime(new Date());
                    updateList.add(new 
UpdateEntry<CoordJobQuery>(CoordJobQuery.UPDATE_COORD_JOB_LAST_MODIFIED_TIME,
                            coordJob));
                    
                    //XLog.getLog(getClass()).info("OOZIE job id in mat - = " + 
coordJob.getId());
                    //XLog.getLog(getClass())
                            .info("OOZIE lastModifiedDate in mat = " + 
coordJob.getLastModifiedTime().getTime());

                }
            }
            catch (JPAExecutorException jex) {
                LOG.warn("JPAExecutorException while attempting to materialize 
coordinator jobs", jex);
            }
        }
{code}

> Test failure - TestCoordMaterializeTriggerService#testMaxMatThrottleNotPicked
> -----------------------------------------------------------------------------
>
>                 Key: OOZIE-2720
>                 URL: https://issues.apache.org/jira/browse/OOZIE-2720
>             Project: Oozie
>          Issue Type: Bug
>            Reporter: Satish Subhashrao Saley
>            Assignee: Satish Subhashrao Saley
>
> Here is the command used to run tests. I wanted to run all the tests without 
> stopping on failure. 
> mvn clean 
> -Djavaagent:/Users/saley/.m2/repository/org/apache/openjpa/openjpa/2.2.2/openjpa-2.2.2.jar
>  -P hadoop-2 test -fae  -Dmaven.test.failure.ignore=true
> -------------------------------------------------------------------------------
> Test set: org.apache.oozie.service.TestCoordMaterializeTriggerService
> -------------------------------------------------------------------------------
> Tests run: 5, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 14.2 sec <<< 
> FAILURE!
> testMaxMatThrottleNotPicked(org.apache.oozie.service.TestCoordMaterializeTriggerService)
>   Time elapsed: 0.003 sec  <<< FAILURE!
> junit.framework.AssertionFailedError: expected:<Fri Oct 28 13:33:38 PDT 2016> 
> but was:<Fri Oct 28 13:33:40 PDT 2016>
> at junit.framework.Assert.fail(Assert.java:50)
> at junit.framework.Assert.failNotEquals(Assert.java:287)
> at junit.framework.Assert.assertEquals(Assert.java:67)
> at junit.framework.Assert.assertEquals(Assert.java:74)
> at 
> org.apache.oozie.service.TestCoordMaterializeTriggerService.testMaxMatThrottleNotPicked(TestCoordMaterializeTriggerService.java:172)
> 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:168)
> at junit.framework.TestCase.runBare(TestCase.java:134)
> at junit.framework.TestResult$1.protect(TestResult.java:110)
> at junit.framework.TestResult.runProtected(TestResult.java:128)
> at junit.framework.TestResult.run(TestResult.java:113)
> at junit.framework.TestCase.run(TestCase.java:124)
> at junit.framework.TestSuite.runTest(TestSuite.java:243)
> at junit.framework.TestSuite.run(TestSuite.java:238)
> at 
> org.junit.internal.runners.JUnit38ClassRunner.run(JUnit38ClassRunner.java:83)
> at org.junit.runners.Suite.runChild(Suite.java:128)
> at org.junit.runners.Suite.runChild(Suite.java:24)
> at org.junit.runners.ParentRunner$3.run(ParentRunner.java:231)
> at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
> at java.util.concurrent.FutureTask.run(FutureTask.java:266)
> at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
> at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> at java.lang.Thread.run(Thread.java:745)



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to