Igniters,
What should be the current client behavior after it has successfully connected to the server, but then all server nodes have crashed? Will all the client APIs throw an IgniteClientDisconnectedException? If yes, then I don't think that our query API works the same way, as I get an SQL schema exception in this case (see below). Sergi, I know that SQL falls under your jurisdiction. Can you advise? ----- Exception in thread "main" class org.apache.ignite.IgniteException: Failed to set schema for DB connection for thread [schema=words] at org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.connectionForSpace(IgniteH2Indexing.java:195) at org.apache.ignite.internal.processors.query.h2.twostep.GridReduceQueryExecutor.query(GridReduceQueryExecutor.java:423) at org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing$2.iterator(IgniteH2Indexing.java:777) at org.apache.ignite.internal.processors.cache.QueryCursorImpl.iterator(QueryCursorImpl.java:59) at org.apache.ignite.internal.processors.cache.QueryCursorImpl.getAll(QueryCursorImpl.java:71) at demo.streaming.QueryWords.main(QueryWords.java:35) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:483) at com.intellij.rt.execution.application.AppMain.main(AppMain.java:140) Caused by: class org.apache.ignite.IgniteCheckedException: Failed to set schema for DB connection for thread [schema=words] at org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.connectionForThread(IgniteH2Indexing.java:226) at org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.connectionForSpace(IgniteH2Indexing.java:192) ... 10 more Caused by: org.h2.jdbc.JdbcSQLException: Schema "words" not found; SQL statement: SET SCHEMA "words" [90079-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.engine.Database.getSchema(Database.java:1609) at org.h2.command.dml.Set.update(Set.java:364) at org.h2.command.CommandContainer.update(CommandContainer.java:79) at org.h2.command.Command.executeUpdate(Command.java:253) at org.h2.jdbc.JdbcStatement.executeUpdateInternal(JdbcStatement.java:128) at org.h2.jdbc.JdbcStatement.executeUpdate(JdbcStatement.java:113) at org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.connectionForThread(IgniteH2Indexing.java:218) ... 11 more Process finished with exit code 1 --------- D. |
I'm sure the current exception is wrong, but what happens for other cache
operations (like get/put) when all the server nodes got stopped? I believe the behavior must be consistent. Sergi 2015-07-22 20:53 GMT+03:00 Dmitriy Setrakyan <[hidden email]>: > Igniters, > > What should be the current client behavior after it has successfully > connected to the server, but then all server nodes have crashed? > > Will all the client APIs throw an IgniteClientDisconnectedException? If > yes, then I don't think that our query API works the same way, as I get an > SQL schema exception in this case (see below). > > Sergi, I know that SQL falls under your jurisdiction. Can you advise? > > ----- > Exception in thread "main" class org.apache.ignite.IgniteException: Failed > to set schema for DB connection for thread [schema=words] > at > > org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.connectionForSpace(IgniteH2Indexing.java:195) > at > > org.apache.ignite.internal.processors.query.h2.twostep.GridReduceQueryExecutor.query(GridReduceQueryExecutor.java:423) > at > > org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing$2.iterator(IgniteH2Indexing.java:777) > at > > org.apache.ignite.internal.processors.cache.QueryCursorImpl.iterator(QueryCursorImpl.java:59) > at > > org.apache.ignite.internal.processors.cache.QueryCursorImpl.getAll(QueryCursorImpl.java:71) > at demo.streaming.QueryWords.main(QueryWords.java:35) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) > at > > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:483) > at com.intellij.rt.execution.application.AppMain.main(AppMain.java:140) > Caused by: class org.apache.ignite.IgniteCheckedException: Failed to set > schema for DB connection for thread [schema=words] > at > > org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.connectionForThread(IgniteH2Indexing.java:226) > at > > org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.connectionForSpace(IgniteH2Indexing.java:192) > ... 10 more > Caused by: org.h2.jdbc.JdbcSQLException: Schema "words" not found; SQL > statement: > SET SCHEMA "words" [90079-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.engine.Database.getSchema(Database.java:1609) > at org.h2.command.dml.Set.update(Set.java:364) > at org.h2.command.CommandContainer.update(CommandContainer.java:79) > at org.h2.command.Command.executeUpdate(Command.java:253) > at org.h2.jdbc.JdbcStatement.executeUpdateInternal(JdbcStatement.java:128) > at org.h2.jdbc.JdbcStatement.executeUpdate(JdbcStatement.java:113) > at > > org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.connectionForThread(IgniteH2Indexing.java:218) > ... 11 more > > Process finished with exit code 1 > --------- > > D. > |
On Thu, Jul 23, 2015 at 12:29 AM, Sergi Vladykin <[hidden email]>
wrote: > I'm sure the current exception is wrong, but what happens for other cache > operations (like get/put) when all the server nodes got stopped? I believe > the behavior must be consistent. > As I mentioned below, I believe that IgniteClientDisconnectedException is thrown. I think the query logic should also throw the same exception. Please take a look at this exception - it has a Future inside it which completes upon client successfully connecting back. > > Sergi > > 2015-07-22 20:53 GMT+03:00 Dmitriy Setrakyan <[hidden email]>: > > > Igniters, > > > > What should be the current client behavior after it has successfully > > connected to the server, but then all server nodes have crashed? > > > > Will all the client APIs throw an IgniteClientDisconnectedException? If > > yes, then I don't think that our query API works the same way, as I get > an > > SQL schema exception in this case (see below). > > > > Sergi, I know that SQL falls under your jurisdiction. Can you advise? > > > > ----- > > Exception in thread "main" class org.apache.ignite.IgniteException: > Failed > > to set schema for DB connection for thread [schema=words] > > at > > > > > org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.connectionForSpace(IgniteH2Indexing.java:195) > > at > > > > > org.apache.ignite.internal.processors.query.h2.twostep.GridReduceQueryExecutor.query(GridReduceQueryExecutor.java:423) > > at > > > > > org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing$2.iterator(IgniteH2Indexing.java:777) > > at > > > > > org.apache.ignite.internal.processors.cache.QueryCursorImpl.iterator(QueryCursorImpl.java:59) > > at > > > > > org.apache.ignite.internal.processors.cache.QueryCursorImpl.getAll(QueryCursorImpl.java:71) > > at demo.streaming.QueryWords.main(QueryWords.java:35) > > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > > at > > > > > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) > > at > > > > > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > > at java.lang.reflect.Method.invoke(Method.java:483) > > at com.intellij.rt.execution.application.AppMain.main(AppMain.java:140) > > Caused by: class org.apache.ignite.IgniteCheckedException: Failed to set > > schema for DB connection for thread [schema=words] > > at > > > > > org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.connectionForThread(IgniteH2Indexing.java:226) > > at > > > > > org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.connectionForSpace(IgniteH2Indexing.java:192) > > ... 10 more > > Caused by: org.h2.jdbc.JdbcSQLException: Schema "words" not found; SQL > > statement: > > SET SCHEMA "words" [90079-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.engine.Database.getSchema(Database.java:1609) > > at org.h2.command.dml.Set.update(Set.java:364) > > at org.h2.command.CommandContainer.update(CommandContainer.java:79) > > at org.h2.command.Command.executeUpdate(Command.java:253) > > at > org.h2.jdbc.JdbcStatement.executeUpdateInternal(JdbcStatement.java:128) > > at org.h2.jdbc.JdbcStatement.executeUpdate(JdbcStatement.java:113) > > at > > > > > org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.connectionForThread(IgniteH2Indexing.java:218) > > ... 11 more > > > > Process finished with exit code 1 > > --------- > > > > D. > > > |
Free forum by Nabble | Edit this page |