[ https://issues.apache.org/jira/browse/ASTERIXDB-1706?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16345391#comment-16345391 ]
ASF subversion and git services commented on ASTERIXDB-1706: ------------------------------------------------------------ Commit 85d4627e3c89125c55756153560d093c346b4451 in asterixdb's branch refs/heads/master from [~mhubail] [ https://git-wip-us.apache.org/repos/asf?p=asterixdb.git;h=85d4627 ] [ASTERIXDB-1706][RT] Ensure All Result Frames Are Read - user model changes: no - storage format changes: no - interface changes: yes - Removed IDatasetInputChannelMonitor Details: - Currently there is a possibility that the EOS comes in DatasetInputChannelMonitor right after the check for avaibale frames is performed which will result in missing some result frames from being read. When this happens, empty result will be returned if no frames were read before. This change ensures that the state between checking the avaiable frames and the EOS is consistent. - Clean up HyracksDatasetReader. - Use error code for result read failure. Change-Id: I7d5a78fa20fe200cfffd21a215e052481c6d61ca Reviewed-on: https://asterix-gerrit.ics.uci.edu/2337 Sonar-Qube: Jenkins <jenk...@fulliautomatix.ics.uci.edu> Tested-by: Jenkins <jenk...@fulliautomatix.ics.uci.edu> Integration-Tests: Jenkins <jenk...@fulliautomatix.ics.uci.edu> Reviewed-by: Till Westmann <ti...@apache.org> > Sporadic integration test failure > --------------------------------- > > Key: ASTERIXDB-1706 > URL: https://issues.apache.org/jira/browse/ASTERIXDB-1706 > Project: Apache AsterixDB > Issue Type: Bug > Components: *DB - AsterixDB > Reporter: Till > Assignee: Murtadha Hubail > Priority: Major > > We do have some sporadic wrong results in the integration tests, e.g. > https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-integration-tests/org.apache.asterix$asterix-installer/1005/testReport/junit/org.apache.asterix.installer.test/ManagixExecutionIT/test_1223_/ > {noformat} > Oct 23, 2016 5:07:42 PM org.apache.asterix.test.aql.TestExecutor executeTest > INFO: Starting [TEST]: temporal/overlap_bins ... > Expected results file: > ../asterix-app/src/test/resources/runtimets/results/temporal/overlap_bins/overlap_bins.1.adm > Actual results file: > target/ittest/results/temporal/overlap_bins/overlap_bins.1.adm > testFile > ../asterix-app/src/test/resources/runtimets/queries/temporal/overlap_bins/overlap_bins.3.query.aql > raised an exception: org.apache.asterix.test.base.ComparisonException: > Result for > ../asterix-app/src/test/resources/runtimets/queries/temporal/overlap_bins/overlap_bins.3.query.aql > changed at line 1: > < { "timebins": [ interval(time("17:00:00.000Z"), time("17:30:00.000Z")), > interval(time("17:30:00.000Z"), time("18:00:00.000Z")), > interval(time("18:00:00.000Z"), time("18:30:00.000Z")), > interval(time("18:30:00.000Z"), time("19:00:00.000Z")) ], "datebins": [ > interval(date("1980-01-01"), date("1990-01-01")), > interval(date("1990-01-01"), date("2000-01-01")), > interval(date("2000-01-01"), date("2010-01-01")), > interval(date("2010-01-01"), date("2020-01-01")) ], "datetimebins": [ > interval(datetime("1800-01-01T00:00:00.000Z"), > datetime("1900-01-01T00:00:00.000Z")), > interval(datetime("1900-01-01T00:00:00.000Z"), > datetime("2000-01-01T00:00:00.000Z")), > interval(datetime("2000-01-01T00:00:00.000Z"), > datetime("2100-01-01T00:00:00.000Z")) ] } > > <EOF> > org.apache.asterix.test.base.ComparisonException: Result for > ../asterix-app/src/test/resources/runtimets/queries/temporal/overlap_bins/overlap_bins.3.query.aql > changed at line 1: > < { "timebins": [ interval(time("17:00:00.000Z"), time("17:30:00.000Z")), > interval(time("17:30:00.000Z"), time("18:00:00.000Z")), > interval(time("18:00:00.000Z"), time("18:30:00.000Z")), > interval(time("18:30:00.000Z"), time("19:00:00.000Z")) ], "datebins": [ > interval(date("1980-01-01"), date("1990-01-01")), > interval(date("1990-01-01"), date("2000-01-01")), > interval(date("2000-01-01"), date("2010-01-01")), > interval(date("2010-01-01"), date("2020-01-01")) ], "datetimebins": [ > interval(datetime("1800-01-01T00:00:00.000Z"), > datetime("1900-01-01T00:00:00.000Z")), > interval(datetime("1900-01-01T00:00:00.000Z"), > datetime("2000-01-01T00:00:00.000Z")), > interval(datetime("2000-01-01T00:00:00.000Z"), > datetime("2100-01-01T00:00:00.000Z")) ] } > > <EOF> > at > org.apache.asterix.test.aql.TestExecutor.throwLineChanged(TestExecutor.java:203) > at > org.apache.asterix.test.aql.TestExecutor.runScriptAndCompareWithResult(TestExecutor.java:152) > at > org.apache.asterix.test.aql.TestExecutor.executeTest(TestExecutor.java:775) > at > org.apache.asterix.test.aql.TestExecutor.executeTest(TestExecutor.java:1003) > at > org.apache.asterix.test.aql.TestExecutor.executeTest(TestExecutor.java:666) > at > org.apache.asterix.installer.test.AbstractExecutionIT.test(AbstractExecutionIT.java:161) > at sun.reflect.GeneratedMethodAccessor16.invoke(Unknown Source) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:498) > at > org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50) > at > org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) > at > org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47) > at > org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) > at org.junit.rules.TestWatcher$1.evaluate(TestWatcher.java:55) > at org.junit.rules.RunRules.evaluate(RunRules.java:20) > at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325) > at > org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78) > at > org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57) > at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) > at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) > at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) > at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) > at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) > at org.junit.runners.ParentRunner.run(ParentRunner.java:363) > at org.junit.runners.Suite.runChild(Suite.java:128) > at org.junit.runners.Suite.runChild(Suite.java:27) > at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) > at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) > at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) > at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) > at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) > at > org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) > at > org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) > at org.junit.runners.ParentRunner.run(ParentRunner.java:363) > at > org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:59) > at > org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.executeTestSet(AbstractDirectoryTestSuite.java:120) > at > org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.execute(AbstractDirectoryTestSuite.java:145) > at org.apache.maven.surefire.Surefire.run(Surefire.java:104) > 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 > org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(SurefireBooter.java:290) > at > org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:1017) > ...Unexpected! > Oct 23, 2016 5:07:42 PM org.apache.asterix.test.aql.TestExecutor executeTest > INFO: [TEST]: temporal/overlap_bins PASSED > {noformat} -- This message was sent by Atlassian JIRA (v7.6.3#76005)