[jira] [Assigned] (IGNITE-814) Implement Algorithmic Skeletons (a.k.a. Parallelism Patterns) and other Parallelism and Concurrency Abstractions
[ https://issues.apache.org/jira/browse/IGNITE-814?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Alexei Kaigorodov reassigned IGNITE-814: Assignee: Alexei Kaigorodov > Implement Algorithmic Skeletons (a.k.a. Parallelism Patterns) and other > Parallelism and Concurrency Abstractions > > > Key: IGNITE-814 > URL: https://issues.apache.org/jira/browse/IGNITE-814 > Project: Ignite > Issue Type: New Feature >Reporter: Suminda Dharmasena >Assignee: Alexei Kaigorodov > > See: http://en.wikipedia.org/wiki/Algorithmic_skeleton -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Assigned] (IGNITE-5103) TcpDiscoverySpi ignores maxMissedClientHeartbeats property
[ https://issues.apache.org/jira/browse/IGNITE-5103?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Alexei Kaigorodov reassigned IGNITE-5103: - Assignee: Alexei Kaigorodov > TcpDiscoverySpi ignores maxMissedClientHeartbeats property > -- > > Key: IGNITE-5103 > URL: https://issues.apache.org/jira/browse/IGNITE-5103 > Project: Ignite > Issue Type: Bug > Components: general >Affects Versions: 1.9 >Reporter: Valentin Kulichenko >Assignee: Alexei Kaigorodov > Fix For: 2.1 > > Attachments: TcpDiscoveryClientSuspensionSelfTest.java > > > Test scenario is the following: > * Start one or more servers. > * Start a client node. > * Suspend client process using {{-SIGSTOP}} signal. > * Wait for {{maxMissedClientHeartbeats*heartbeatFrequency}}. > * Client node is expected to be removed from topology, but server nodes don't > do that. > Attached is the unit test reproducing the same by stopping the heartbeat > sender thread on the client. -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (IGNITE-4220) Allow to pass statements instead of strings to CacheStore.loadCache() implementations
[ https://issues.apache.org/jira/browse/IGNITE-4220?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15994964#comment-15994964 ] Alexei Kaigorodov commented on IGNITE-4220: --- Andrey Gura mistake with resource closing fixed. Valentin Kulichenko yes both POJO and Cassandra stores accept statements instead of strings. > Allow to pass statements instead of strings to CacheStore.loadCache() > implementations > - > > Key: IGNITE-4220 > URL: https://issues.apache.org/jira/browse/IGNITE-4220 > Project: Ignite > Issue Type: Improvement > Components: cache >Affects Versions: 1.7 >Reporter: Valentin Kulichenko >Assignee: Alexei Kaigorodov > Fix For: 2.1 > > > Currently both Cassandra store and POJO store allow user to provide a set of > queries used for data loading. However, there are cases when user may want to > provide a {{Statement}} instead (e.g., prepared statements with parameter > binding are used). We should support {{Statement}} arguments in store > implementations as well as strings. -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Comment Edited] (IGNITE-4220) Allow to pass statements instead of strings to CacheStore.loadCache() implementations
[ https://issues.apache.org/jira/browse/IGNITE-4220?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15994518#comment-15994518 ] Alexei Kaigorodov edited comment on IGNITE-4220 at 5/3/17 9:16 AM: --- issue fixed new pull request created: https://github.com/apache/ignite/pull/1898 was (Author: rfq): issue fixed in branch: ignite-1.7.11-IGNITE-4220 new pull request created: https://github.com/apache/ignite/pull/1898 > Allow to pass statements instead of strings to CacheStore.loadCache() > implementations > - > > Key: IGNITE-4220 > URL: https://issues.apache.org/jira/browse/IGNITE-4220 > Project: Ignite > Issue Type: Improvement > Components: cache >Affects Versions: 1.7 >Reporter: Valentin Kulichenko >Assignee: Alexei Kaigorodov > > Currently both Cassandra store and POJO store allow user to provide a set of > queries used for data loading. However, there are cases when user may want to > provide a {{Statement}} instead (e.g., prepared statements with parameter > binding are used). We should support {{Statement}} arguments in store > implementations as well as strings. -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (IGNITE-4220) Allow to pass statements instead of strings to CacheStore.loadCache() implementations
[ https://issues.apache.org/jira/browse/IGNITE-4220?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15994518#comment-15994518 ] Alexei Kaigorodov commented on IGNITE-4220: --- issue fixed in branch: ignite-1.7.11-IGNITE-4220 new pull request created: https://github.com/apache/ignite/pull/1898 > Allow to pass statements instead of strings to CacheStore.loadCache() > implementations > - > > Key: IGNITE-4220 > URL: https://issues.apache.org/jira/browse/IGNITE-4220 > Project: Ignite > Issue Type: Improvement > Components: cache >Affects Versions: 1.7 >Reporter: Valentin Kulichenko >Assignee: Alexei Kaigorodov > > Currently both Cassandra store and POJO store allow user to provide a set of > queries used for data loading. However, there are cases when user may want to > provide a {{Statement}} instead (e.g., prepared statements with parameter > binding are used). We should support {{Statement}} arguments in store > implementations as well as strings. -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Assigned] (IGNITE-4991) Do not print out system properties when IGNITE_TO_STRING_INCLUDE_SENSITIVE is set
[ https://issues.apache.org/jira/browse/IGNITE-4991?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Alexei Kaigorodov reassigned IGNITE-4991: - Assignee: Alexei Kaigorodov > Do not print out system properties when IGNITE_TO_STRING_INCLUDE_SENSITIVE is > set > - > > Key: IGNITE-4991 > URL: https://issues.apache.org/jira/browse/IGNITE-4991 > Project: Ignite > Issue Type: Improvement > Components: general >Affects Versions: 1.9 >Reporter: Valentin Kulichenko >Assignee: Alexei Kaigorodov > Labels: newbie > Fix For: 2.1 > > > {{IgniteKernal#ackSystemProperties}} and {{IgniteKernal#ackVmArguments}} > print out system properties that can contain sensitive data. This print outs > should be disabled when {{IGNITE_TO_STRING_INCLUDE_SENSITIVE}} system > property is set to {{true}}. -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (IGNITE-4220) Allow to pass statements instead of strings to CacheStore.loadCache() implementations
[ https://issues.apache.org/jira/browse/IGNITE-4220?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15978945#comment-15978945 ] Alexei Kaigorodov commented on IGNITE-4220: --- issue fixed in branch https://github.com/rfqu/ignite/tree/ignite-4220 please review pull request: https://github.com/apache/ignite/pull/1857 > Allow to pass statements instead of strings to CacheStore.loadCache() > implementations > - > > Key: IGNITE-4220 > URL: https://issues.apache.org/jira/browse/IGNITE-4220 > Project: Ignite > Issue Type: Improvement > Components: cache >Affects Versions: 1.7 >Reporter: Valentin Kulichenko >Assignee: Alexei Kaigorodov > > Currently both Cassandra store and POJO store allow user to provide a set of > queries used for data loading. However, there are cases when user may want to > provide a {{Statement}} instead (e.g., prepared statements with parameter > binding are used). We should support {{Statement}} arguments in store > implementations as well as strings. -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Assigned] (IGNITE-4220) Allow to pass statements instead of strings to CacheStore.loadCache() implementations
[ https://issues.apache.org/jira/browse/IGNITE-4220?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Alexei Kaigorodov reassigned IGNITE-4220: - Assignee: Alexei Kaigorodov > Allow to pass statements instead of strings to CacheStore.loadCache() > implementations > - > > Key: IGNITE-4220 > URL: https://issues.apache.org/jira/browse/IGNITE-4220 > Project: Ignite > Issue Type: Improvement > Components: cache >Affects Versions: 1.7 >Reporter: Valentin Kulichenko >Assignee: Alexei Kaigorodov > > Currently both Cassandra store and POJO store allow user to provide a set of > queries used for data loading. However, there are cases when user may want to > provide a {{Statement}} instead (e.g., prepared statements with parameter > binding are used). We should support {{Statement}} arguments in store > implementations as well as strings. -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Resolved] (IGNITE-4182) Improve error output when query parsing failed.
[ https://issues.apache.org/jira/browse/IGNITE-4182?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Alexei Kaigorodov resolved IGNITE-4182. --- Resolution: Cannot Reproduce Fix Version/s: (was: 2.1) 1.9 2.0 Submitter agrees that the source exception with detailed diagnostics (org.h2.jdbc.JdbcSQLException: Table "B" not found; SQL statement:select A from B) is present, though deep in the bottom of stack trace. > Improve error output when query parsing failed. > --- > > Key: IGNITE-4182 > URL: https://issues.apache.org/jira/browse/IGNITE-4182 > Project: Ignite > Issue Type: Task >Affects Versions: 1.7 >Reporter: Igor Sapego >Assignee: Alexei Kaigorodov >Priority: Minor > Fix For: 2.0, 1.9 > > > There is no enough information in the exception when SLQ query can not be > parsed. In most cases we get something like this: > {noformat} > Failed to execute SQL query [reqId=2, req=OdbcQueryExecuteRequest > [cacheName=cache, sqlQry=SELECT a FROM B, args=[]]] > javax.cache.CacheException: class org.apache.ignite.IgniteException: Failed > to parse query: SELECT a FROM B > at > org.apache.ignite.internal.processors.cache.IgniteCacheProxy.query(IgniteCacheProxy.java:740) > at > org.apache.ignite.internal.processors.odbc.OdbcRequestHandler.executeQuery(OdbcRequestHandler.java:193) > at > org.apache.ignite.internal.processors.odbc.OdbcRequestHandler.handle(OdbcRequestHandler.java:104) > at > org.apache.ignite.internal.processors.odbc.OdbcNioListener.onMessage(OdbcNioListener.java:124) > at > org.apache.ignite.internal.processors.odbc.OdbcNioListener.onMessage(OdbcNioListener.java:33) > at > org.apache.ignite.internal.util.nio.GridNioFilterChain$TailFilter.onMessageReceived(GridNioFilterChain.java:270) > at > org.apache.ignite.internal.util.nio.GridNioFilterAdapter.proceedMessageReceived(GridNioFilterAdapter.java:107) > at > org.apache.ignite.internal.util.nio.GridNioAsyncNotifyFilter$3.body(GridNioAsyncNotifyFilter.java:95) > at > org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:110) > at > org.apache.ignite.internal.util.worker.GridWorkerPool$1.run(GridWorkerPool.java:70) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) > at java.lang.Thread.run(Thread.java:745) > Caused by: class org.apache.ignite.IgniteException: Failed to parse query: > SELECT a FROM B > at > org.apache.ignite.internal.processors.query.GridQueryProcessor.queryTwoStep(GridQueryProcessor.java:749) > at > org.apache.ignite.internal.processors.cache.IgniteCacheProxy.query(IgniteCacheProxy.java:728) > ... 12 more > Caused by: class org.apache.ignite.IgniteCheckedException: Failed to parse > query: SELECT a FROM B > at > org.apache.ignite.internal.processors.query.GridQueryProcessor.executeQuery(GridQueryProcessor.java:1695) > at > org.apache.ignite.internal.processors.query.GridQueryProcessor.queryTwoStep(GridQueryProcessor.java:742) > ... 13 more > Caused by: class > org.apache.ignite.internal.processors.query.IgniteSQLException: Failed to > parse query: SELECT a FROM B > at > org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.queryTwoStep0(IgniteH2Indexing.java:1887) > at > org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.queryTwoStep(IgniteH2Indexing.java:1793) > at > org.apache.ignite.internal.processors.query.GridQueryProcessor$2.applyx(GridQueryProcessor.java:744) > at > org.apache.ignite.internal.processors.query.GridQueryProcessor$2.applyx(GridQueryProcessor.java:742) > at > org.apache.ignite.internal.util.lang.IgniteOutClosureX.apply(IgniteOutClosureX.java:36) > at > org.apache.ignite.internal.processors.query.GridQueryProcessor.executeQuery(GridQueryProcessor.java:1672) > ... 14 more > {noformat} > In this particular case, for example, we do not have table "B", nor we have > column "a", but you can't get it from the exception. -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Assigned] (IGNITE-3536) IGFS: Implement async methods for all base file system operations.
[ https://issues.apache.org/jira/browse/IGNITE-3536?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Alexei Kaigorodov reassigned IGNITE-3536: - Assignee: (was: Alexei Kaigorodov) > IGFS: Implement async methods for all base file system operations. > -- > > Key: IGNITE-3536 > URL: https://issues.apache.org/jira/browse/IGNITE-3536 > Project: Ignite > Issue Type: Task > Components: IGFS >Affects Versions: 1.6 >Reporter: Vladimir Ozerov > Fix For: 2.1 > > > 1) Remove {{IgniteAsyncSupport}} interface > 2) Implement async counterparts for all FS operations. > Justification: some structure file system operations might be very > time-consuming, so having async counterparts sounds like a good idea. > The questions is what thread pool will host these tasks. -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (IGNITE-3536) IGFS: Implement async methods for all base file system operations.
[ https://issues.apache.org/jira/browse/IGNITE-3536?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15970742#comment-15970742 ] Alexei Kaigorodov commented on IGNITE-3536: --- In order to avoid waiting for time consuming operations, they should be parallelised. Parallelisation can be done in 2 forms: synchronous (using threads and both blocking and non-blocking operations) and asynchronous (using tasks executed by thread pool and non-blocking operations only). Asynchronous parallelisation is a hard task: blocking operations must be eliminated totally. Program code bloats and become less readable. New challenges like back-pressure should be resolved. The only advantage of asynchronous parallelisation is saving memory for thread's stacks. That is, I want to make sure we definitely want asynchronous parallelisation and not synchronous one. > IGFS: Implement async methods for all base file system operations. > -- > > Key: IGNITE-3536 > URL: https://issues.apache.org/jira/browse/IGNITE-3536 > Project: Ignite > Issue Type: Task > Components: IGFS >Affects Versions: 1.6 >Reporter: Vladimir Ozerov >Assignee: Alexei Kaigorodov > Fix For: 2.1 > > > 1) Remove {{IgniteAsyncSupport}} interface > 2) Implement async counterparts for all FS operations. > Justification: some structure file system operations might be very > time-consuming, so having async counterparts sounds like a good idea. > The questions is what thread pool will host these tasks. -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (IGNITE-3536) IGFS: Implement async methods for all base file system operations.
[ https://issues.apache.org/jira/browse/IGNITE-3536?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15969836#comment-15969836 ] Alexei Kaigorodov commented on IGNITE-3536: --- do we have examples of user tasks which can be solved with async IGFS API? > IGFS: Implement async methods for all base file system operations. > -- > > Key: IGNITE-3536 > URL: https://issues.apache.org/jira/browse/IGNITE-3536 > Project: Ignite > Issue Type: Task > Components: IGFS >Affects Versions: 1.6 >Reporter: Vladimir Ozerov >Assignee: Alexei Kaigorodov > Fix For: 2.1 > > > 1) Remove {{IgniteAsyncSupport}} interface > 2) Implement async counterparts for all FS operations. > Justification: some structure file system operations might be very > time-consuming, so having async counterparts sounds like a good idea. > The questions is what thread pool will host these tasks. -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Assigned] (IGNITE-3536) IGFS: Implement async methods for all base file system operations.
[ https://issues.apache.org/jira/browse/IGNITE-3536?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Alexei Kaigorodov reassigned IGNITE-3536: - Assignee: Alexei Kaigorodov > IGFS: Implement async methods for all base file system operations. > -- > > Key: IGNITE-3536 > URL: https://issues.apache.org/jira/browse/IGNITE-3536 > Project: Ignite > Issue Type: Task > Components: IGFS >Affects Versions: 1.6 >Reporter: Vladimir Ozerov >Assignee: Alexei Kaigorodov > Fix For: 2.1 > > > 1) Remove {{IgniteAsyncSupport}} interface > 2) Implement async counterparts for all FS operations. > Justification: some structure file system operations might be very > time-consuming, so having async counterparts sounds like a good idea. > The questions is what thread pool will host these tasks. -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Assigned] (IGNITE-4182) Improve error output when query parsing failed.
[ https://issues.apache.org/jira/browse/IGNITE-4182?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Alexei Kaigorodov reassigned IGNITE-4182: - Assignee: Alexei Kaigorodov > Improve error output when query parsing failed. > --- > > Key: IGNITE-4182 > URL: https://issues.apache.org/jira/browse/IGNITE-4182 > Project: Ignite > Issue Type: Task >Affects Versions: 1.7 >Reporter: Igor Sapego >Assignee: Alexei Kaigorodov >Priority: Minor > Fix For: 2.1 > > > There is no enough information in the exception when SLQ query can not be > parsed. In most cases we get something like this: > {noformat} > Failed to execute SQL query [reqId=2, req=OdbcQueryExecuteRequest > [cacheName=cache, sqlQry=SELECT a FROM B, args=[]]] > javax.cache.CacheException: class org.apache.ignite.IgniteException: Failed > to parse query: SELECT a FROM B > at > org.apache.ignite.internal.processors.cache.IgniteCacheProxy.query(IgniteCacheProxy.java:740) > at > org.apache.ignite.internal.processors.odbc.OdbcRequestHandler.executeQuery(OdbcRequestHandler.java:193) > at > org.apache.ignite.internal.processors.odbc.OdbcRequestHandler.handle(OdbcRequestHandler.java:104) > at > org.apache.ignite.internal.processors.odbc.OdbcNioListener.onMessage(OdbcNioListener.java:124) > at > org.apache.ignite.internal.processors.odbc.OdbcNioListener.onMessage(OdbcNioListener.java:33) > at > org.apache.ignite.internal.util.nio.GridNioFilterChain$TailFilter.onMessageReceived(GridNioFilterChain.java:270) > at > org.apache.ignite.internal.util.nio.GridNioFilterAdapter.proceedMessageReceived(GridNioFilterAdapter.java:107) > at > org.apache.ignite.internal.util.nio.GridNioAsyncNotifyFilter$3.body(GridNioAsyncNotifyFilter.java:95) > at > org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:110) > at > org.apache.ignite.internal.util.worker.GridWorkerPool$1.run(GridWorkerPool.java:70) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) > at java.lang.Thread.run(Thread.java:745) > Caused by: class org.apache.ignite.IgniteException: Failed to parse query: > SELECT a FROM B > at > org.apache.ignite.internal.processors.query.GridQueryProcessor.queryTwoStep(GridQueryProcessor.java:749) > at > org.apache.ignite.internal.processors.cache.IgniteCacheProxy.query(IgniteCacheProxy.java:728) > ... 12 more > Caused by: class org.apache.ignite.IgniteCheckedException: Failed to parse > query: SELECT a FROM B > at > org.apache.ignite.internal.processors.query.GridQueryProcessor.executeQuery(GridQueryProcessor.java:1695) > at > org.apache.ignite.internal.processors.query.GridQueryProcessor.queryTwoStep(GridQueryProcessor.java:742) > ... 13 more > Caused by: class > org.apache.ignite.internal.processors.query.IgniteSQLException: Failed to > parse query: SELECT a FROM B > at > org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.queryTwoStep0(IgniteH2Indexing.java:1887) > at > org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.queryTwoStep(IgniteH2Indexing.java:1793) > at > org.apache.ignite.internal.processors.query.GridQueryProcessor$2.applyx(GridQueryProcessor.java:744) > at > org.apache.ignite.internal.processors.query.GridQueryProcessor$2.applyx(GridQueryProcessor.java:742) > at > org.apache.ignite.internal.util.lang.IgniteOutClosureX.apply(IgniteOutClosureX.java:36) > at > org.apache.ignite.internal.processors.query.GridQueryProcessor.executeQuery(GridQueryProcessor.java:1672) > ... 14 more > {noformat} > In this particular case, for example, we do not have table "B", nor we have > column "a", but you can't get it from the exception. -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Comment Edited] (IGNITE-4182) Improve error output when query parsing failed.
[ https://issues.apache.org/jira/browse/IGNITE-4182?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15967823#comment-15967823 ] Alexei Kaigorodov edited comment on IGNITE-4182 at 4/14/17 9:51 AM: I was wrong sayng the poor diagnostics goes from the H2 jdbc driver. Actually, if we look deeper into "caused by" chain, we can see original H2 message Table "B" not found: Exception in thread "main" javax.cache.CacheException: class org.apache.ignite.IgniteException: Failed to parse query: select A from B at org.apache.ignite.internal.processors.cache.IgniteCacheProxy.query(IgniteCacheProxy.java:806) at org.apache.ignite.examples.datagrid.CacheQueryExample.sqlQueryWithError(CacheQueryExample.java:318) at org.apache.ignite.examples.datagrid.CacheQueryExample.main(CacheQueryExample.java:112) Caused by: class org.apache.ignite.IgniteException: Failed to parse query: select A from B at org.apache.ignite.internal.processors.query.GridQueryProcessor.queryTwoStep(GridQueryProcessor.java:414) at org.apache.ignite.internal.processors.cache.IgniteCacheProxy.query(IgniteCacheProxy.java:794) ... 2 more Caused by: class org.apache.ignite.IgniteCheckedException: Failed to parse query: select A from B at org.apache.ignite.internal.processors.query.GridQueryProcessor.executeQuery(GridQueryProcessor.java:832) at org.apache.ignite.internal.processors.query.GridQueryProcessor.queryTwoStep(GridQueryProcessor.java:407) ... 3 more Caused by: class org.apache.ignite.internal.processors.query.IgniteSQLException: Failed to parse query: select A from B at org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.queryTwoStep(IgniteH2Indexing.java:1447) at org.apache.ignite.internal.processors.query.GridQueryProcessor$2.applyx(GridQueryProcessor.java:409) at org.apache.ignite.internal.processors.query.GridQueryProcessor$2.applyx(GridQueryProcessor.java:407) at org.apache.ignite.internal.util.lang.IgniteOutClosureX.apply(IgniteOutClosureX.java:36) at org.apache.ignite.internal.processors.query.GridQueryProcessor.executeQuery(GridQueryProcessor.java:809) ... 4 more Caused by: org.h2.jdbc.JdbcSQLException: Таблица "B" не найдена Table "B" not found; SQL statement: select A from B [42102-191] at org.h2.message.DbException.getJdbcSQLException(DbException.java:345) at org.h2.message.DbException.get(DbException.java:179) at org.h2.message.DbException.get(DbException.java:155) at org.h2.command.Parser.readTableOrView(Parser.java:5349) at org.h2.command.Parser.readTableFilter(Parser.java:1245) at org.h2.command.Parser.parseSelectSimpleFromPart(Parser.java:1884) at org.h2.command.Parser.parseSelectSimple(Parser.java:2032) at org.h2.command.Parser.parseSelectSub(Parser.java:1878) at org.h2.command.Parser.parseSelectUnion(Parser.java:1699) at org.h2.command.Parser.parseSelect(Parser.java:1687) at org.h2.command.Parser.parsePrepared(Parser.java:443) at org.h2.command.Parser.parse(Parser.java:315) at org.h2.command.Parser.parse(Parser.java:287) at org.h2.command.Parser.prepareCommand(Parser.java:252) at org.h2.engine.Session.prepareLocal(Session.java:560) at org.h2.engine.Session.prepareCommand(Session.java:501) at org.h2.jdbc.JdbcConnection.prepareCommand(JdbcConnection.java:1188) at org.h2.jdbc.JdbcPreparedStatement.(JdbcPreparedStatement.java:73) at org.h2.jdbc.JdbcConnection.prepareStatement(JdbcConnection.java:276) at org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.prepareStatement(IgniteH2Indexing.java:446) at org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.queryTwoStep(IgniteH2Indexing.java:1431) ... 8 more Process finished with exit code 1 was (Author: rfq): the poor diagnostics goes from the H2 jdbc driver. > Improve error output when query parsing failed. > --- > > Key: IGNITE-4182 > URL: https://issues.apache.org/jira/browse/IGNITE-4182 > Project: Ignite > Issue Type: Task >Affects Versions: 1.7 >Reporter: Igor Sapego >Priority: Minor > Fix For: 2.1 > > > There is no enough information in the exception when SLQ query can not be > parsed. In most cases we get something like this: > {noformat} > Failed to execute SQL query [reqId=2, req=OdbcQueryExecuteRequest > [cacheName=cache, sqlQry=SELECT a FROM B, args=[]]] > javax.cache.CacheException: class org.apache.ignite.IgniteException: Failed > to parse query: SELECT a FROM B > at > org.apache.ignite.internal.processors.cache.IgniteCacheProxy.query(IgniteCacheProxy.
[jira] [Commented] (IGNITE-4182) Improve error output when query parsing failed.
[ https://issues.apache.org/jira/browse/IGNITE-4182?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15967823#comment-15967823 ] Alexei Kaigorodov commented on IGNITE-4182: --- the poor diagnostics goes from the H2 jdbc driver. > Improve error output when query parsing failed. > --- > > Key: IGNITE-4182 > URL: https://issues.apache.org/jira/browse/IGNITE-4182 > Project: Ignite > Issue Type: Task >Affects Versions: 1.7 >Reporter: Igor Sapego >Priority: Minor > Fix For: 2.1 > > > There is no enough information in the exception when SLQ query can not be > parsed. In most cases we get something like this: > {noformat} > Failed to execute SQL query [reqId=2, req=OdbcQueryExecuteRequest > [cacheName=cache, sqlQry=SELECT a FROM B, args=[]]] > javax.cache.CacheException: class org.apache.ignite.IgniteException: Failed > to parse query: SELECT a FROM B > at > org.apache.ignite.internal.processors.cache.IgniteCacheProxy.query(IgniteCacheProxy.java:740) > at > org.apache.ignite.internal.processors.odbc.OdbcRequestHandler.executeQuery(OdbcRequestHandler.java:193) > at > org.apache.ignite.internal.processors.odbc.OdbcRequestHandler.handle(OdbcRequestHandler.java:104) > at > org.apache.ignite.internal.processors.odbc.OdbcNioListener.onMessage(OdbcNioListener.java:124) > at > org.apache.ignite.internal.processors.odbc.OdbcNioListener.onMessage(OdbcNioListener.java:33) > at > org.apache.ignite.internal.util.nio.GridNioFilterChain$TailFilter.onMessageReceived(GridNioFilterChain.java:270) > at > org.apache.ignite.internal.util.nio.GridNioFilterAdapter.proceedMessageReceived(GridNioFilterAdapter.java:107) > at > org.apache.ignite.internal.util.nio.GridNioAsyncNotifyFilter$3.body(GridNioAsyncNotifyFilter.java:95) > at > org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:110) > at > org.apache.ignite.internal.util.worker.GridWorkerPool$1.run(GridWorkerPool.java:70) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) > at java.lang.Thread.run(Thread.java:745) > Caused by: class org.apache.ignite.IgniteException: Failed to parse query: > SELECT a FROM B > at > org.apache.ignite.internal.processors.query.GridQueryProcessor.queryTwoStep(GridQueryProcessor.java:749) > at > org.apache.ignite.internal.processors.cache.IgniteCacheProxy.query(IgniteCacheProxy.java:728) > ... 12 more > Caused by: class org.apache.ignite.IgniteCheckedException: Failed to parse > query: SELECT a FROM B > at > org.apache.ignite.internal.processors.query.GridQueryProcessor.executeQuery(GridQueryProcessor.java:1695) > at > org.apache.ignite.internal.processors.query.GridQueryProcessor.queryTwoStep(GridQueryProcessor.java:742) > ... 13 more > Caused by: class > org.apache.ignite.internal.processors.query.IgniteSQLException: Failed to > parse query: SELECT a FROM B > at > org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.queryTwoStep0(IgniteH2Indexing.java:1887) > at > org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.queryTwoStep(IgniteH2Indexing.java:1793) > at > org.apache.ignite.internal.processors.query.GridQueryProcessor$2.applyx(GridQueryProcessor.java:744) > at > org.apache.ignite.internal.processors.query.GridQueryProcessor$2.applyx(GridQueryProcessor.java:742) > at > org.apache.ignite.internal.util.lang.IgniteOutClosureX.apply(IgniteOutClosureX.java:36) > at > org.apache.ignite.internal.processors.query.GridQueryProcessor.executeQuery(GridQueryProcessor.java:1672) > ... 14 more > {noformat} > In this particular case, for example, we do not have table "B", nor we have > column "a", but you can't get it from the exception. -- This message was sent by Atlassian JIRA (v6.3.15#6346)