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

Semi colon in CREATE INDEX causes infinite loop execution

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • None
    • 2.5
    • sql
    • 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

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

              Dates

                Created:
                Updated:
                Resolved: