[
https://issues.apache.org/jira/browse/IGNITE-8342?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16446637#comment-16446637
]
ASF GitHub Bot commented on IGNITE-8342:
----------------------------------------
GitHub user shroman opened a pull request:
https://github.com/apache/ignite/pull/3893
IGNITE-8342: When creating an index, unexpected non-default token cau…
…ses an infinite loop.
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/shroman/ignite master
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/ignite/pull/3893.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #3893
----
commit df03b3677592bd212bb2bfaea5d6b811b156fc1f
Author: shroman <rshtykh@...>
Date: 2018-04-21T05:08:11Z
IGNITE-8342: When creating an index, unexpected non-default token causes an
infinite loop.
----
> Semi colon in CREATE INDEX causes infinite loop execution
> ---------------------------------------------------------
>
> Key: IGNITE-8342
> URL: https://issues.apache.org/jira/browse/IGNITE-8342
> Project: Ignite
> Issue Type: Bug
> Components: sql
> Reporter: Pavel Kuznetsov
> Assignee: Roman Shtykh
> Priority: Major
> Fix For: 2.5
>
>
> Given created table in cache
> {noformat}
> cache.query(new SqlFieldsQuery("CREATE INDEX AgeIndex ON Employee
> (age);")).getAll();
> {noformat}
> seems to cause infinite loop
> jstack :
> {noformat}
> "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)
> {noformat}
> without semicolon sign (";") in the end of the query, it performs well.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)