10 Replies Latest reply on Dec 6, 2013 10:04 AM by shawkins

    Out join exception

    kchen007

      When we do this sql

            SELECT

                          NVL(o.optionvalue,dp.Value_) AS PARM_VAL_TXT,

                     FROM

                          Drillstring_Prm dp LEFT OUTER JOIN

                          OPTIONLIST o ON dp.parameter_=o.nameinsource and dp.value_=o.number

                     WHERE dp.Value_ IS NOT NULL;

       

      we got the followng exception, what does the assertion mean?

       

      16:22:29,963 ERROR [org.teiid.PROCESSOR] (Worker16_QueryProcessorQueue68) TEIID30019 Unexpected exception for request PvsT90Mvv9wD.7: java.lang.AssertionError: ASSERTION FAILED: expected reference to be not null
                     at org.teiid.core.util.Assertion.failed(Assertion.java:73) [teiid-common-core-8.4.0.Final.jar:8.4.0.Final]
                     at org.teiid.core.util.Assertion.isNotNull(Assertion.java:100) [teiid-common-core-8.4.0.Final.jar:8.4.0.Final]
                     at org.teiid.core.util.Assertion.isNotNull(Assertion.java:92) [teiid-common-core-8.4.0.Final.jar:8.4.0.Final]
                     at org.teiid.common.buffer.TupleBuffer.getBatch(TupleBuffer.java:302) [teiid-engine-8.4.0.Final.jar:8.4.0.Final]
                     at org.teiid.query.processor.BatchIterator.finalRow(BatchIterator.java:64) [teiid-engine-8.4.0.Final.jar:8.4.0.Final]
                     at org.teiid.common.buffer.AbstractTupleSource.getCurrentTuple(AbstractTupleSource.java:70) [teiid-engine-8.4.0.Final.jar:8.4.0.Final]
                     at org.teiid.query.processor.BatchIterator.getCurrentTuple(BatchIterator.java:85) [teiid-engine-8.4.0.Final.jar:8.4.0.Final]
                     at org.teiid.common.buffer.AbstractTupleSource.nextTuple(AbstractTupleSource.java:48) [teiid-engine-8.4.0.Final.jar:8.4.0.Final]
                     at org.teiid.query.processor.relational.SortUtility.initialSort(SortUtility.java:257) [teiid-engine-8.4.0.Final.jar:8.4.0.Final]
                     at org.teiid.query.processor.relational.SortUtility.sort(SortUtility.java:190) [teiid-engine-8.4.0.Final.jar:8.4.0.Final]
                     at org.teiid.query.processor.relational.SourceState.sort(SourceState.java:312) [teiid-engine-8.4.0.Final.jar:8.4.0.Final]
                     at org.teiid.query.processor.relational.MergeJoinStrategy.loadRight(MergeJoinStrategy.java:348) [teiid-engine-8.4.0.Final.jar:8.4.0.Final]
                     at org.teiid.query.processor.relational.EnhancedSortMergeJoinStrategy.loadRight(EnhancedSortMergeJoinStrategy.java:257) [teiid-engine-8.4.0.Final.jar:8.4.0.Final]
                     at org.teiid.query.processor.relational.JoinNode.nextBatchDirect(JoinNode.java:208) [teiid-engine-8.4.0.Final.jar:8.4.0.Final]
                     at org.teiid.query.processor.relational.RelationalNode.nextBatch(RelationalNode.java:278) [teiid-engine-8.4.0.Final.jar:8.4.0.Final]
                     at org.teiid.query.processor.relational.LimitNode.nextBatchDirect(LimitNode.java:101) [teiid-engine-8.4.0.Final.jar:8.4.0.Final]
                     at org.teiid.query.processor.relational.RelationalNode.nextBatch(RelationalNode.java:278) [teiid-engine-8.4.0.Final.jar:8.4.0.Final]
                     at org.teiid.query.processor.relational.ProjectNode.nextBatchDirect(ProjectNode.java:146) [teiid-engine-8.4.0.Final.jar:8.4.0.Final]
                     at org.teiid.query.processor.relational.RelationalNode.nextBatch(RelationalNode.java:278) [teiid-engine-8.4.0.Final.jar:8.4.0.Final]
                     at org.teiid.query.processor.relational.RelationalPlan.nextBatch(RelationalPlan.java:149) [teiid-engine-8.4.0.Final.jar:8.4.0.Final]
                     at org.teiid.query.processor.QueryProcessor.nextBatchDirect(QueryProcessor.java:149) [teiid-engine-8.4.0.Final.jar:8.4.0.Final]
                     at org.teiid.query.processor.QueryProcessor.nextBatch(QueryProcessor.java:112) [teiid-engine-8.4.0.Final.jar:8.4.0.Final]
                     at org.teiid.query.processor.BatchCollector.collectTuples(BatchCollector.java:153) [teiid-engine-8.4.0.Final.jar:8.4.0.Final]
                     at org.teiid.dqp.internal.process.RequestWorkItem.processMore(RequestWorkItem.java:435) [teiid-engine-8.4.0.Final.jar:8.4.0.Final]
                     at org.teiid.dqp.internal.process.RequestWorkItem.process(RequestWorkItem.java:320) [teiid-engine-8.4.0.Final.jar:8.4.0.Final]
                     at org.teiid.dqp.internal.process.AbstractWorkItem.run(AbstractWorkItem.java:51) [teiid-engine-8.4.0.Final.jar:8.4.0.Final]
                     at org.teiid.dqp.internal.process.RequestWorkItem.run(RequestWorkItem.java:248) [teiid-engine-8.4.0.Final.jar:8.4.0.Final]
                     at org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:269) [teiid-engine-8.4.0.Final.jar:8.4.0.Final]
                     at org.teiid.dqp.internal.process.ThreadReuseExecutor$RunnableWrapper.run(ThreadReuseExecutor.java:119) [teiid-engine-8.4.0.Final.jar:8.4.0.Final]
                     at org.teiid.dqp.internal.process.ThreadReuseExecutor$3.run(ThreadReuseExecutor.java:214) [teiid-engine-8.4.0.Final.jar:8.4.0.Final]
                     at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) [rt.jar:1.6.0_27]
                     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) [rt.jar:1.6.0_27]
                     at java.lang.Thread.run(Thread.java:662) [rt.jar:1.6.0_27]

       

       

      thanks,

      Kevin

        • 1. Re: Out join exception
          shawkins

          Hi Kevin,

           

          More than likely that is:  [TEIID-2707] proactive buffering on an enhanced sort merge left outer join results in an assertionerror - JBoss Issue Tr… which is an unexpected exception and regression in 8.4.  That has been addressed in 8.6 and 8.4.1.  I don't think that it was committed to the 8.5 branch though.

           

          Steve

          • 2. Re: Out join exception
            kchen007

            thanks.

            • 3. Re: Out join exception
              kchen007

              Steven:

               

              where can I download the 8.4.1 patch, I cannot find it.

               

              thanks

              Kevin

              • 4. Re: Out join exception
                shawkins

                Kevin,

                 

                Unfortunately there is no community release off of that branch.  We also seldom issue patches as we typically point people to the newest release or to pull the appropriate branch, apply the fix, and perform a local build.  As we have yet to release 8.6, let us know if this is something that you would need help addressing in 8.5 or 8.4.

                 

                Thanks,

                Steve

                • 5. Re: Out join exception
                  kchen007


                  Steve:

                   

                  Since we have a major release in 2 weeks, and trying to minimize the changes to our code base. which jar file needs to be rebuilt? also what other changes is in the jar file? If possible, can you produce a build on 8.4.1?

                   

                  thanks

                  Kevin

                  • 6. Re: Out join exception
                    shawkins

                    > which jar file needs to be rebuilt

                     

                    This should just affect the engine.

                     

                    > If possible, can you produce a build on 8.4.1?

                     

                    No, that is not a community release branch.  We could provide a minor cumulative patch for 8.5 though.

                    • 7. Re: Out join exception
                      kchen007

                      Steven:

                      what is the command to clone the 8.4.1 branch using github?

                      thlanks

                      Kevin

                      • 8. Re: Out join exception
                        shawkins

                        On github you can choose to fork in the upper right when you are on teiid/teiid · GitHub to setup a copy for yourself.  You can also just get a download https://github.com/teiid/teiid/archive/8.4.x.zip

                        • 9. Re: Out join exception
                          kchen007

                          thanks Steve. I donwload the zip file and when I build it, on Engine project, it failed with unit test,

                           

                          Results :

                          Failed tests:   testCreateTempTable7(org.teiid.query.parser.TestCreateDrop): expected:<...t line 1, column 41.[](..)
                            testCreateError(org.teiid.query.parser.TestDDLParser): expected:<...t line 1, column 25.[](..)
                            testDynamicCommandStatement3(org.teiid.query.parser.TestParser): expected:<...t line 1, column 88.[](..)
                            testBadAlias(org.teiid.query.parser.TestParser): expected:<...t line 1, column 13.[](..)
                            testLikeWithEscapeException(org.teiid.query.parser.TestParser): expected:<...t line 1, column 50.[](..)
                            testFailsWildcardInSelect1(org.teiid.query.parser.TestParser): expected:<...at line 1, column 8.[](..)
                            testFailsWildcardInSelect(org.teiid.query.parser.TestParser): expected:<...t line 1, column 13.[](..)
                            testInvalidToken(org.teiid.query.parser.TestParser): expected:<...at line 1, column 1.[](..)

                          Tests run: 5470, Failures: 8, Errors: 0, Skipped: 63

                          • 10. Re: Out join exception
                            shawkins

                            You are seeing [TEIID-2681] Test Case failures in teiid-engine - JBoss Issue Tracker which is due to running on windows (as you can imagine all of the devs / build servers were on linux).  The bulk if not all of the test issues discovered were addressed in 8.6.  It was left as unresolved as there was still an odd difference that Rakesh saw with the postgres jdbc driver in an integration test which could not be explained nor was he able to debug to fully understand.  You can cherry pick the commits to your fork or assuming that you are in a standard timezone, then all you may need to do is just set the line.separator.