Uploaded image for project: 'Ignite'
  1. Ignite
  2. IGNITE-10199

unexpected result from QueryCursor.getAll() in IgniteSqlSplitterSelfTest#testMergeJoin

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Major
    • Resolution: Unresolved
    • 2.6
    • None
    • sql
    • None

    Description

      IgniteSqlSplitterSelfTest#testMergeJoin (in current codebase muted by renaming to _testMergeJoin) fails with message:

      junit.framework.AssertionFailedError
      	at junit.framework.Assert.fail(Assert.java:55)
      	at junit.framework.Assert.assertTrue(Assert.java:22)
      	at junit.framework.Assert.assertTrue(Assert.java:31)
      	at junit.framework.TestCase.assertTrue(TestCase.java:201)
      	at org.apache.ignite.internal.processors.query.IgniteSqlSplitterSelfTest.testMergeJoin(IgniteSqlSplitterSelfTest.java:182)
      	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:497)
      	at junit.framework.TestCase.runTest(TestCase.java:176)
      	at org.apache.ignite.testframework.junits.GridAbstractTest.runTestInternal(GridAbstractTest.java:2208)
      	at org.apache.ignite.testframework.junits.GridAbstractTest.access$000(GridAbstractTest.java:144)
      	at org.apache.ignite.testframework.junits.GridAbstractTest$5.run(GridAbstractTest.java:2124)
      	at java.lang.Thread.run(Thread.java:745)
      

      Test code referred by above message is last assert in below snippet:

                  String qry = "select o1.* from Org o1, " +
                      "(select max(o.name) as name, o.id from Org o group by o.id) o2 " +
                      "where o1.id = o2.id";
      
                  List<List<?>> plan = c.query(new SqlFieldsQuery("explain " + qry)
                      .setEnforceJoinOrder(true)).getAll();
      
                  X.println("Plan: " + plan);
      
                  String map0 = (String)plan.get(0).get(0);
                  String map1 = (String)plan.get(1).get(0);
                  String rdc = (String)plan.get(2).get(0);
      
                  assertTrue(map0.contains("ORDER BY"));
                  assertTrue(map1.contains("ORDER BY"));
      

      Note git history appears to refer mute in commit 58e57fd.

      Attachments

        Activity

          People

            Unassigned Unassigned
            oignatenko Oleg Ignatenko
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:

              Time Tracking

                Estimated:
                Original Estimate - Not Specified
                Not Specified
                Remaining:
                Time Spent - 8h Remaining Estimate - 16h
                16h
                Logged:
                Time Spent - 8h Remaining Estimate - 16h
                8h