[
https://issues.apache.org/jira/browse/IGNITE-3397?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Sergey Kozlov updated IGNITE-3397:
----------------------------------
Description:
1. Extract everything from attached zip file into examples directory
2. Run {{CacheQueryFailures query4}}. It fails:
{noformat}
[15:32:35] Topology snapshot [ver=1, servers=1, clients=0, CPUs=8, heap=3.5GB]
>>> initialize 300 keys
>>> run query4, type: SqlFieldsQuery, query SELECT SUM(intCol), AVG(intCol)
>>> FROM AllTypes WHERE shortCol >= ?
[15:32:35] Ignite node stopped OK [uptime=00:00:00:485]
Exception in thread "main" javax.cache.CacheException: class
org.apache.ignite.IgniteException: Failed to parse query: SELECT SUM(intCol),
AVG(intCol) FROM AllTypes WHERE shortCol >= ?
at
org.apache.ignite.internal.processors.cache.IgniteCacheProxy.query(IgniteCacheProxy.java:682)
at
org.apache.ignite.examples.datagrid.CacheQueryFailures.runQuery(CacheQueryFailures.java:117)
at
org.apache.ignite.examples.datagrid.CacheQueryFailures.main(CacheQueryFailures.java:83)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:140)
Caused by: class org.apache.ignite.IgniteException: Failed to parse query:
SELECT SUM(intCol), AVG(intCol) FROM AllTypes WHERE shortCol >= ?
at
org.apache.ignite.internal.processors.query.GridQueryProcessor.queryTwoStep(GridQueryProcessor.java:811)
at
org.apache.ignite.internal.processors.cache.IgniteCacheProxy.query(IgniteCacheProxy.java:673)
... 7 more
Caused by: class org.apache.ignite.IgniteCheckedException: Failed to parse
query: SELECT SUM(intCol), AVG(intCol) FROM AllTypes WHERE shortCol >= ?
at
org.apache.ignite.internal.processors.query.GridQueryProcessor.executeQuery(GridQueryProcessor.java:1787)
at
org.apache.ignite.internal.processors.query.GridQueryProcessor.queryTwoStep(GridQueryProcessor.java:804)
... 8 more
Caused by: javax.cache.CacheException: Failed to parse query: SELECT
SUM(intCol), AVG(intCol) FROM AllTypes WHERE shortCol >= ?
at
org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.queryTwoStep(IgniteH2Indexing.java:1058)
at
org.apache.ignite.internal.processors.query.GridQueryProcessor$4.applyx(GridQueryProcessor.java:806)
at
org.apache.ignite.internal.processors.query.GridQueryProcessor$4.applyx(GridQueryProcessor.java:804)
at
org.apache.ignite.internal.util.lang.IgniteOutClosureX.apply(IgniteOutClosureX.java:36)
at
org.apache.ignite.internal.processors.query.GridQueryProcessor.executeQuery(GridQueryProcessor.java:1769)
... 9 more
Caused by: org.h2.jdbc.JdbcSQLException: SUM или AVG на недопустимом типе
данных "SUM(INTCOL)"
SUM or AVG on wrong data type for "SUM(INTCOL)"; SQL statement:
SELECT SUM(intCol), AVG(intCol) FROM AllTypes WHERE shortCol >= ? [90015-175]
at org.h2.message.DbException.getJdbcSQLException(DbException.java:332)
at org.h2.message.DbException.get(DbException.java:172)
at org.h2.message.DbException.get(DbException.java:149)
at org.h2.expression.Aggregate.optimize(Aggregate.java:408)
at org.h2.command.dml.Select.prepare(Select.java:810)
at org.h2.command.Parser.prepareCommand(Parser.java:240)
at org.h2.engine.Session.prepareLocal(Session.java:436)
at org.h2.engine.Session.prepareCommand(Session.java:379)
at org.h2.jdbc.JdbcConnection.prepareCommand(JdbcConnection.java:1138)
at
org.h2.jdbc.JdbcPreparedStatement.<init>(JdbcPreparedStatement.java:70)
at org.h2.jdbc.JdbcConnection.prepareStatement(JdbcConnection.java:267)
at
org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.prepareStatement(IgniteH2Indexing.java:366)
at
org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.queryTwoStep(IgniteH2Indexing.java:1055)
... 13 more
Process finished with exit code 1
{noformat}
was:
1. Extract everything from attached zip file into examples directory
2. Run {{CacheQueryFailures query3}}. It fails:
{noformat}
[14:52:52] Ignite node started OK (id=2821d4cc)
[14:52:52] Topology snapshot [ver=1, servers=1, clients=0, CPUs=8, heap=3.5GB]
>>> initialize 300 keys
>>> run query3, type: SqlFieldsQuery, query SELECT COUNT(longCol), shortCol
>>> FROM AllTypes WHERE shortCol > ? GROUP BY shortCol
>>> Query: SqlFieldsQuery [sql=SELECT COUNT(longCol), shortCol FROM AllTypes
>>> WHERE shortCol > ? GROUP BY shortCol, args=[10000], collocated=false]
[14:52:52,517][ERROR][main][GridMapQueryExecutor] Failed to execute local
query: GridQueryRequest [reqId=1, pageSize=1024, space=cache_0001,
qrys=[GridCacheSqlQuery [qry=SELECT
COUNT(LONGCOL) __C0,
SHORTCOL __C1
FROM "cache_0001".ALLTYPES
WHERE SHORTCOL > ?1
GROUP BY SHORTCOL, params=[10000], paramIdxs=[0], paramsSize=1,
cols={__C0=GridSqlType [type=5, scale=0, precision=19, displaySize=20,
sql=BIGINT], __C1=GridSqlType [type=19, scale=0, precision=2147483647,
displaySize=2147483647, sql=OTHER]}, alias=null]],
topVer=AffinityTopologyVersion [topVer=1, minorTopVer=0], extraSpaces=null,
parts=null]
class org.apache.ignite.IgniteCheckedException: Failed to execute SQL query.
at
org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.executeSqlQuery(IgniteH2Indexing.java:847)
at
org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.executeSqlQueryWithTimer(IgniteH2Indexing.java:870)
at
org.apache.ignite.internal.processors.query.h2.twostep.GridMapQueryExecutor.onQueryRequest(GridMapQueryExecutor.java:454)
at
org.apache.ignite.internal.processors.query.h2.twostep.GridMapQueryExecutor.onMessage(GridMapQueryExecutor.java:184)
at
org.apache.ignite.internal.processors.query.h2.twostep.GridReduceQueryExecutor.send(GridReduceQueryExecutor.java:1065)
at
org.apache.ignite.internal.processors.query.h2.twostep.GridReduceQueryExecutor.query(GridReduceQueryExecutor.java:572)
at
org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing$2.iterator(IgniteH2Indexing.java:971)
at
org.apache.ignite.internal.processors.cache.QueryCursorImpl.iterator(QueryCursorImpl.java:61)
at
org.apache.ignite.examples.datagrid.CacheQueryFailures.runQuery(CacheQueryFailures.java:120)
at
org.apache.ignite.examples.datagrid.CacheQueryFailures.main(CacheQueryFailures.java:83)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:140)
Caused by: org.h2.jdbc.JdbcSQLException: Шестнадцатиричная строка содержит
нечетное количество символов: "10000"
Hexadecimal string with odd number of characters: "10000"; SQL statement:
SELECT
COUNT(LONGCOL) __C0,
SHORTCOL __C1
FROM "cache_0001".ALLTYPES
WHERE SHORTCOL > ?1
GROUP BY SHORTCOL [90003-175]
at org.h2.message.DbException.getJdbcSQLException(DbException.java:332)
at org.h2.message.DbException.get(DbException.java:172)
at org.h2.message.DbException.get(DbException.java:149)
at org.h2.util.StringUtils.convertHexToBytes(StringUtils.java:944)
at org.h2.value.Value.convertTo(Value.java:847)
at org.h2.table.Table.compareTypeSave(Table.java:1068)
at
org.apache.ignite.internal.processors.query.h2.opt.GridH2IndexBase.compareValues(GridH2IndexBase.java:143)
at
org.apache.ignite.internal.processors.query.h2.opt.GridH2IndexBase.compareRows(GridH2IndexBase.java:125)
at
org.apache.ignite.internal.processors.query.h2.opt.GridH2TreeIndex$ComparableRow.compareTo(GridH2TreeIndex.java:433)
at
org.apache.ignite.internal.processors.query.h2.opt.GridH2TreeIndex$ComparableRow.compareTo(GridH2TreeIndex.java:415)
at
org.apache.ignite.internal.util.offheap.unsafe.GridOffHeapSnapTreeMap$AbstractIter.cmp(GridOffHeapSnapTreeMap.java:3454)
at
org.apache.ignite.internal.util.offheap.unsafe.GridOffHeapSnapTreeMap$AbstractIter.pushFirst(GridOffHeapSnapTreeMap.java:3492)
at
org.apache.ignite.internal.util.offheap.unsafe.GridOffHeapSnapTreeMap$AbstractIter.<init>(GridOffHeapSnapTreeMap.java:3440)
at
org.apache.ignite.internal.util.offheap.unsafe.GridOffHeapSnapTreeMap$EntryIter.<init>(GridOffHeapSnapTreeMap.java:3303)
at
org.apache.ignite.internal.util.offheap.unsafe.GridOffHeapSnapTreeMap$EntryIter.<init>(GridOffHeapSnapTreeMap.java:3285)
at
org.apache.ignite.internal.util.offheap.unsafe.GridOffHeapSnapTreeMap$SubMap$EntrySubSet.iterator(GridOffHeapSnapTreeMap.java:4013)
at java.util.AbstractMap$2$1.<init>(AbstractMap.java:378)
at java.util.AbstractMap$2.iterator(AbstractMap.java:377)
at
org.apache.ignite.internal.processors.query.h2.opt.GridH2TreeIndex.doFind(GridH2TreeIndex.java:324)
at
org.apache.ignite.internal.processors.query.h2.opt.GridH2TreeIndex.find(GridH2TreeIndex.java:283)
at org.h2.index.BaseIndex.find(BaseIndex.java:126)
at org.h2.index.IndexCursor.find(IndexCursor.java:159)
at org.h2.table.TableFilter.next(TableFilter.java:328)
at org.h2.command.dml.Select.queryGroupSorted(Select.java:165)
at org.h2.command.dml.Select.queryWithoutCache(Select.java:625)
at org.h2.command.dml.Query.query(Query.java:297)
at org.h2.command.dml.Query.query(Query.java:284)
at org.h2.command.dml.Query.query(Query.java:36)
at org.h2.command.CommandContainer.query(CommandContainer.java:91)
at org.h2.command.Command.executeQuery(Command.java:196)
at
org.h2.jdbc.JdbcPreparedStatement.executeQuery(JdbcPreparedStatement.java:106)
at
org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.executeSqlQuery(IgniteH2Indexing.java:844)
... 14 more
Exception in thread "main" javax.cache.CacheException: Failed to run map query
remotely.
at
org.apache.ignite.internal.processors.query.h2.twostep.GridReduceQueryExecutor.query(GridReduceQueryExecutor.java:585)
at
org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing$2.iterator(IgniteH2Indexing.java:971)
at
org.apache.ignite.internal.processors.cache.QueryCursorImpl.iterator(QueryCursorImpl.java:61)
at
org.apache.ignite.examples.datagrid.CacheQueryFailures.runQuery(CacheQueryFailures.java:120)
at
org.apache.ignite.examples.datagrid.CacheQueryFailures.main(CacheQueryFailures.java:83)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:140)
Caused by: javax.cache.CacheException: Failed to execute map query on the node:
2821d4cc-6679-49ac-b227-4548fd289c60, class
org.apache.ignite.IgniteCheckedException:Failed to execute SQL query.
at
org.apache.ignite.internal.processors.query.h2.twostep.GridReduceQueryExecutor.fail(GridReduceQueryExecutor.java:257)
at
org.apache.ignite.internal.processors.query.h2.twostep.GridReduceQueryExecutor.onFail(GridReduceQueryExecutor.java:247)
at
org.apache.ignite.internal.processors.query.h2.twostep.GridReduceQueryExecutor.onMessage(GridReduceQueryExecutor.java:228)
at
org.apache.ignite.internal.processors.query.h2.twostep.GridMapQueryExecutor.sendError(GridMapQueryExecutor.java:525)
at
org.apache.ignite.internal.processors.query.h2.twostep.GridMapQueryExecutor.onQueryRequest(GridMapQueryExecutor.java:501)
at
org.apache.ignite.internal.processors.query.h2.twostep.GridMapQueryExecutor.onMessage(GridMapQueryExecutor.java:184)
at
org.apache.ignite.internal.processors.query.h2.twostep.GridReduceQueryExecutor.send(GridReduceQueryExecutor.java:1065)
at
org.apache.ignite.internal.processors.query.h2.twostep.GridReduceQueryExecutor.query(GridReduceQueryExecutor.java:572)
... 9 more
[14:52:52] Ignite node stopped OK [uptime=00:00:00:473]
{noformat}
Same query without {{WHERE}} clause works fine
Summary: Query with SUM and AVG fails if data type is integer (was:
CLONE - Aggregation query with where clause failed)
> Query with SUM and AVG fails if data type is integer
> ----------------------------------------------------
>
> Key: IGNITE-3397
> URL: https://issues.apache.org/jira/browse/IGNITE-3397
> Project: Ignite
> Issue Type: Bug
> Components: cache
> Affects Versions: 1.6
> Reporter: Sergey Kozlov
> Priority: Critical
>
> 1. Extract everything from attached zip file into examples directory
> 2. Run {{CacheQueryFailures query4}}. It fails:
> {noformat}
> [15:32:35] Topology snapshot [ver=1, servers=1, clients=0, CPUs=8, heap=3.5GB]
> >>> initialize 300 keys
> >>> run query4, type: SqlFieldsQuery, query SELECT SUM(intCol), AVG(intCol)
> >>> FROM AllTypes WHERE shortCol >= ?
> [15:32:35] Ignite node stopped OK [uptime=00:00:00:485]
> Exception in thread "main" javax.cache.CacheException: class
> org.apache.ignite.IgniteException: Failed to parse query: SELECT SUM(intCol),
> AVG(intCol) FROM AllTypes WHERE shortCol >= ?
> at
> org.apache.ignite.internal.processors.cache.IgniteCacheProxy.query(IgniteCacheProxy.java:682)
> at
> org.apache.ignite.examples.datagrid.CacheQueryFailures.runQuery(CacheQueryFailures.java:117)
> at
> org.apache.ignite.examples.datagrid.CacheQueryFailures.main(CacheQueryFailures.java:83)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:606)
> at com.intellij.rt.execution.application.AppMain.main(AppMain.java:140)
> Caused by: class org.apache.ignite.IgniteException: Failed to parse query:
> SELECT SUM(intCol), AVG(intCol) FROM AllTypes WHERE shortCol >= ?
> at
> org.apache.ignite.internal.processors.query.GridQueryProcessor.queryTwoStep(GridQueryProcessor.java:811)
> at
> org.apache.ignite.internal.processors.cache.IgniteCacheProxy.query(IgniteCacheProxy.java:673)
> ... 7 more
> Caused by: class org.apache.ignite.IgniteCheckedException: Failed to parse
> query: SELECT SUM(intCol), AVG(intCol) FROM AllTypes WHERE shortCol >= ?
> at
> org.apache.ignite.internal.processors.query.GridQueryProcessor.executeQuery(GridQueryProcessor.java:1787)
> at
> org.apache.ignite.internal.processors.query.GridQueryProcessor.queryTwoStep(GridQueryProcessor.java:804)
> ... 8 more
> Caused by: javax.cache.CacheException: Failed to parse query: SELECT
> SUM(intCol), AVG(intCol) FROM AllTypes WHERE shortCol >= ?
> at
> org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.queryTwoStep(IgniteH2Indexing.java:1058)
> at
> org.apache.ignite.internal.processors.query.GridQueryProcessor$4.applyx(GridQueryProcessor.java:806)
> at
> org.apache.ignite.internal.processors.query.GridQueryProcessor$4.applyx(GridQueryProcessor.java:804)
> at
> org.apache.ignite.internal.util.lang.IgniteOutClosureX.apply(IgniteOutClosureX.java:36)
> at
> org.apache.ignite.internal.processors.query.GridQueryProcessor.executeQuery(GridQueryProcessor.java:1769)
> ... 9 more
> Caused by: org.h2.jdbc.JdbcSQLException: SUM или AVG на недопустимом типе
> данных "SUM(INTCOL)"
> SUM or AVG on wrong data type for "SUM(INTCOL)"; SQL statement:
> SELECT SUM(intCol), AVG(intCol) FROM AllTypes WHERE shortCol >= ? [90015-175]
> at org.h2.message.DbException.getJdbcSQLException(DbException.java:332)
> at org.h2.message.DbException.get(DbException.java:172)
> at org.h2.message.DbException.get(DbException.java:149)
> at org.h2.expression.Aggregate.optimize(Aggregate.java:408)
> at org.h2.command.dml.Select.prepare(Select.java:810)
> at org.h2.command.Parser.prepareCommand(Parser.java:240)
> at org.h2.engine.Session.prepareLocal(Session.java:436)
> at org.h2.engine.Session.prepareCommand(Session.java:379)
> at org.h2.jdbc.JdbcConnection.prepareCommand(JdbcConnection.java:1138)
> at
> org.h2.jdbc.JdbcPreparedStatement.<init>(JdbcPreparedStatement.java:70)
> at org.h2.jdbc.JdbcConnection.prepareStatement(JdbcConnection.java:267)
> at
> org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.prepareStatement(IgniteH2Indexing.java:366)
> at
> org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.queryTwoStep(IgniteH2Indexing.java:1055)
> ... 13 more
> Process finished with exit code 1
> {noformat}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)