Uploaded image for project: 'Phoenix'
  1. Phoenix
  2. PHOENIX-3104 Enable Phoenix test cases with Calcite-Phoenix
  3. PHOENIX-3724

Infinite loop in local index tests having filters on non indexed columns in Phoenix-Calcite

    XMLWordPrintableJSON

Details

    • Sub-task
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • None
    • None
    • None

    Description

      Here is the failing test QueryIT#testIsNotNull. With PhoenixTableScanColumnRefRule rule there is infinite loop to finalize best plan.

      java.lang.OutOfMemoryError: GC overhead limit exceeded
      	at java.lang.AbstractStringBuilder.<init>(AbstractStringBuilder.java:68)
      	at java.lang.StringBuffer.<init>(StringBuffer.java:116)
      	at java.io.StringWriter.<init>(StringWriter.java:50)
      	at org.apache.calcite.rel.AbstractRelNode.computeDigest(AbstractRelNode.java:397)
      	at org.apache.calcite.rel.AbstractRelNode.recomputeDigest(AbstractRelNode.java:358)
      	at org.apache.calcite.plan.hep.HepPlanner.updateVertex(HepPlanner.java:839)
      	at org.apache.calcite.plan.hep.HepPlanner.addRelToGraph(HepPlanner.java:780)
      	at org.apache.calcite.plan.hep.HepPlanner.applyTransformationResults(HepPlanner.java:691)
      	at org.apache.calcite.plan.hep.HepPlanner.applyRule(HepPlanner.java:509)
      	at org.apache.calcite.plan.hep.HepPlanner.applyRules(HepPlanner.java:384)
      	at org.apache.calcite.plan.hep.HepPlanner.executeInstruction(HepPlanner.java:251)
      	at org.apache.calcite.plan.hep.HepInstruction$RuleInstance.execute(HepInstruction.java:125)
      	at org.apache.calcite.plan.hep.HepPlanner.executeProgram(HepPlanner.java:210)
      	at org.apache.calcite.plan.hep.HepPlanner.findBestExp(HepPlanner.java:197)
      	at org.apache.calcite.tools.Programs$2.run(Programs.java:213)
      	at org.apache.calcite.tools.Programs$SequenceProgram.run(Programs.java:387)
      	at org.apache.calcite.tools.Programs$SequenceProgram.run(Programs.java:387)
      	at org.apache.phoenix.calcite.PhoenixPrograms$1.planFor(PhoenixPrograms.java:200)
      	at org.apache.phoenix.calcite.PhoenixPrograms$1.run(PhoenixPrograms.java:180)
      	at org.apache.calcite.tools.Programs$SequenceProgram.run(Programs.java:387)
      	at org.apache.calcite.prepare.Prepare.optimize(Prepare.java:158)
      	at org.apache.calcite.prepare.Prepare.prepareSql(Prepare.java:291)
      	at org.apache.calcite.prepare.Prepare.prepareSql(Prepare.java:200)
      	at org.apache.calcite.prepare.CalcitePrepareImpl.prepare2_(CalcitePrepareImpl.java:761)
      	at org.apache.calcite.prepare.CalcitePrepareImpl.prepare_(CalcitePrepareImpl.java:617)
      	at org.apache.calcite.prepare.CalcitePrepareImpl.prepareSql(CalcitePrepareImpl.java:587)
      	at org.apache.phoenix.calcite.PhoenixPrepareImpl.prepareSql(PhoenixPrepareImpl.java:208)
      	at org.apache.calcite.jdbc.CalciteConnectionImpl.parseQuery(CalciteConnectionImpl.java:214)
      	at org.apache.calcite.jdbc.CalciteConnectionImpl.prepareStatement_(CalciteConnectionImpl.java:195)
      	at org.apache.calcite.jdbc.CalciteConnectionImpl.prepareStatement(CalciteConnectionImpl.java:185)
      	at org.apache.calcite.jdbc.PhoenixCalciteFactory$PhoenixCalciteConnection.prepareStatement(PhoenixCalciteFactory.java:161)
      	at org.apache.calcite.jdbc.PhoenixCalciteFactory$PhoenixCalciteConnection.prepareStatement(PhoenixCalciteFactory.java:1)
      

      Attachments

        1. PHOENIX-3724.patch
          2 kB
          Rajeshbabu Chintaguntla

        Activity

          People

            maryannxue Wei Xue
            rajeshbabu Rajeshbabu Chintaguntla
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: