[jira] [Assigned] (IGNITE-814) Implement Algorithmic Skeletons (a.k.a. Parallelism Patterns) and other Parallelism and Concurrency Abstractions

2017-06-05 Thread Alexei Kaigorodov (JIRA)

 [ 
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

2017-06-02 Thread Alexei Kaigorodov (JIRA)

 [ 
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

2017-05-03 Thread Alexei Kaigorodov (JIRA)

[ 
https://issues.apache.org/jira/browse/IGNITE-4220?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=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

2017-05-03 Thread Alexei Kaigorodov (JIRA)

[ 
https://issues.apache.org/jira/browse/IGNITE-4220?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=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

2017-05-03 Thread Alexei Kaigorodov (JIRA)

[ 
https://issues.apache.org/jira/browse/IGNITE-4220?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=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

2017-04-24 Thread Alexei Kaigorodov (JIRA)

 [ 
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

2017-04-21 Thread Alexei Kaigorodov (JIRA)

[ 
https://issues.apache.org/jira/browse/IGNITE-4220?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=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

2017-04-21 Thread Alexei Kaigorodov (JIRA)

 [ 
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.

2017-04-19 Thread Alexei Kaigorodov (JIRA)

 [ 
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] [Commented] (IGNITE-3536) IGFS: Implement async methods for all base file system operations.

2017-04-17 Thread Alexei Kaigorodov (JIRA)

[ 
https://issues.apache.org/jira/browse/IGNITE-3536?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=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.

2017-04-15 Thread Alexei Kaigorodov (JIRA)

[ 
https://issues.apache.org/jira/browse/IGNITE-3536?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=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.

2017-04-14 Thread Alexei Kaigorodov (JIRA)

 [ 
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.

2017-04-14 Thread Alexei Kaigorodov (JIRA)

 [ 
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.

2017-04-14 Thread Alexei Kaigorodov (JIRA)

[ 
https://issues.apache.org/jira/browse/IGNITE-4182?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=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.java:740)
>  

[jira] [Commented] (IGNITE-4182) Improve error output when query parsing failed.

2017-04-13 Thread Alexei Kaigorodov (JIRA)

[ 
https://issues.apache.org/jira/browse/IGNITE-4182?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=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)