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

Semi colon in CREATE INDEX causes infinite loop execution

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 2.5
    • Component/s: sql
    • Labels:
      None

      Description

      Given created table in cache

      cache.query(new SqlFieldsQuery("CREATE INDEX AgeIndex ON Employee (age);")).getAll();
      

      seems to cause infinite loop

      jstack :

      "main" #1 prio=5 os_prio=0 tid=0x00007fa1a800d000 nid=0x4b7c runnable [0x00007fa1b1932000]
         java.lang.Thread.State: RUNNABLE
              at org.apache.ignite.internal.sql.SqlLexer.lookAhead(SqlLexer.java:73)
              at org.apache.ignite.internal.sql.command.SqlCreateIndexCommand.parseIndexProperties(SqlCreateIndexCommand.java:250)
              at org.apache.ignite.internal.sql.command.SqlCreateIndexCommand.parse(SqlCreateIndexCommand.java:172)
              at org.apache.ignite.internal.sql.SqlParser.processCreate(SqlParser.java:207)
              at org.apache.ignite.internal.sql.SqlParser.nextCommand0(SqlParser.java:106)
              at org.apache.ignite.internal.sql.SqlParser.nextCommand(SqlParser.java:76)
              at org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.tryQueryDistributedSqlFieldsNative(IgniteH2Indexing.java:1509)
              at org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.querySqlFields(IgniteH2Indexing.java:1599)
              at org.apache.ignite.internal.processors.query.GridQueryProcessor$4.applyx(GridQueryProcessor.java:2035)
              at org.apache.ignite.internal.processors.query.GridQueryProcessor$4.applyx(GridQueryProcessor.java:2030)
              at org.apache.ignite.internal.util.lang.IgniteOutClosureX.apply(IgniteOutClosureX.java:36)
              at org.apache.ignite.internal.processors.query.GridQueryProcessor.executeQuery(GridQueryProcessor.java:2578)
              at org.apache.ignite.internal.processors.query.GridQueryProcessor.querySqlFields(GridQueryProcessor.java:2044)
              at org.apache.ignite.internal.processors.cache.IgniteCacheProxyImpl.query(IgniteCacheProxyImpl.java:664)
              at org.apache.ignite.internal.processors.cache.IgniteCacheProxyImpl.query(IgniteCacheProxyImpl.java:615)
              at org.apache.ignite.internal.processors.cache.GatewayProtectedCacheProxy.query(GatewayProtectedCacheProxy.java:356)
              at org.apache.ignite.sqltests.BaseSqlTest.fillCommonData(BaseSqlTest.java:107)
      

      without semicolon sign (";") in the end of the query, it performs well.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                shroman Roman Shtykh
                Reporter:
                pkouznet Pavel Kuznetsov
              • Votes:
                0 Vote for this issue
                Watchers:
                4 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: