You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@ignite.apache.org by Naveen Kumar <na...@gmail.com> on 2017/11/29 16:19:06 UTC
Index not getting created
AM using 2.3
What could be the issue with below create index command.
: jdbc:ignite:thin://127.0.0.1> select * from "Customer".CUSTOMER
where ACCOUNT_ID_LIST ='A100000001';
+--------------------------------+--------------------------------+--------------------------------+--------------------------------+-------------------------------+
| ACCOUNT_ID_LIST | CUST_ADDRESS_ID_LIST |
PARTYROLE | PARTY_STATUS_CODE |
REFREE_ID |
+--------------------------------+--------------------------------+--------------------------------+--------------------------------+-------------------------------+
| A100000001 | custAddressIdList1 |
partyrole1 | partyStatusCode1 |
refreeId1 |
+--------------------------------+--------------------------------+--------------------------------+--------------------------------+-------------------------------+
1 row selected (3.324 seconds)
0: jdbc:ignite:thin://127.0.0.1> select ACCOUNT_ID_LIST from
"Customer".CUSTOMER where ACCOUNT_ID_LIST ='A100000001';
+--------------------------------+
| ACCOUNT_ID_LIST |
+--------------------------------+
| A100000001 |
+--------------------------------+
1 row selected (2.078 seconds)
0: jdbc:ignite:thin://127.0.0.1> CREATE INDEX idx_customer_accountId
ON "Customer".CUSTOMER (ACCOUNT_ID_LIST);
Error: Cache doesn't exist: Customer (state=50000,code=0)
java.sql.SQLException: Cache doesn't exist: Customer
at org.apache.ignite.internal.jdbc.thin.JdbcThinConnection.sendRequest(JdbcThinConnection.java:671)
at org.apache.ignite.internal.jdbc.thin.JdbcThinStatement.execute0(JdbcThinStatement.java:130)
at org.apache.ignite.internal.jdbc.thin.JdbcThinStatement.execute(JdbcThinStatement.java:299)
at sqlline.Commands.execute(Commands.java:823)
at sqlline.Commands.sql(Commands.java:733)
at sqlline.SqlLine.dispatch(SqlLine.java:795)
at sqlline.SqlLine.begin(SqlLine.java:668)
at sqlline.SqlLine.start(SqlLine.java:373)
at sqlline.SqlLine.main(SqlLine.java:265)
0: jdbc:ignite:thin://127.0.0.1>
--
Thanks & Regards,
Naveen Bandaru
Re: Index not getting created
Posted by Dmitriy Setrakyan <ds...@apache.org>.
Hi Naveen,
Affinity mapping is a critical portion of Ignite data distribution and
cannot be changed. For more information, please refer to this
documentation: https://apacheignite.readme.io/docs/affinity-collocation
D.
On Wed, Dec 6, 2017 at 9:20 PM, Naveen <na...@gmail.com> wrote:
> This issue got fixed after clean restart of the cluster and creating the
> caches again.
> I could create the index.
> Do we have any option to set the affinity mapping for the cache which is
> already created and holding data.
>
> Thanks
> Naveen
>
>
>
> --
> Sent from: http://apache-ignite-users.70518.x6.nabble.com/
>
Re: Index not getting created
Posted by Naveen <na...@gmail.com>.
This issue got fixed after clean restart of the cluster and creating the
caches again.
I could create the index.
Do we have any option to set the affinity mapping for the cache which is
already created and holding data.
Thanks
Naveen
--
Sent from: http://apache-ignite-users.70518.x6.nabble.com/
Re: Index not getting created
Posted by Taras Ledkov <tl...@gridgain.com>.
Hi,
I see only that "cache not found" at the server.log. Something is wrong.
Is it possible to provide a test as the standalone java class or standalone
GitHub project so that I can run it and reproduce the problem?
On 30.11.2017 20:34, Naveen Kumar wrote:
> Hi
>
>
> Here is the node logs captured with -v option.
>
>
> [22:56:41,291][SEVERE][client-connector-#618%IgnitePOC%][JdbcRequestHandler]
> Failed to execute SQL query [reqId=0, req=JdbcQueryExecuteRequest
> [schemaName=PUBLIC, pageSize=1024, maxRows=0, sqlQry=CREATE INDEX
> idx_customer_accountId ON "Customer".CUSTOMER (ACCOUNT_ID_LIST),
> args=[], stmtType=ANY_STATEMENT_TYPE]]
>
> class org.apache.ignite.internal.processors.query.IgniteSQLException:
> Cache doesn't exist: Customer
>
> at org.apache.ignite.internal.processors.query.h2.ddl.DdlStatementsProcessor.convert(DdlStatementsProcessor.java:343)
>
> at org.apache.ignite.internal.processors.query.h2.ddl.DdlStatementsProcessor.runDdlStatement(DdlStatementsProcessor.java:287)
>
> at org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.queryDistributedSqlFields(IgniteH2Indexing.java:1466)
>
> at org.apache.ignite.internal.processors.query.GridQueryProcessor$6.applyx(GridQueryProcessor.java:1966)
>
> at org.apache.ignite.internal.processors.query.GridQueryProcessor$6.applyx(GridQueryProcessor.java:1962)
>
> at org.apache.ignite.internal.util.lang.IgniteOutClosureX.apply(IgniteOutClosureX.java:36)
>
> at org.apache.ignite.internal.processors.query.GridQueryProcessor.executeQuery(GridQueryProcessor.java:2445)
>
> at org.apache.ignite.internal.processors.query.GridQueryProcessor.querySqlFieldsNoCache(GridQueryProcessor.java:1971)
>
> at org.apache.ignite.internal.processors.odbc.jdbc.JdbcRequestHandler.executeQuery(JdbcRequestHandler.java:305)
>
> at org.apache.ignite.internal.processors.odbc.jdbc.JdbcRequestHandler.handle(JdbcRequestHandler.java:164)
>
> at org.apache.ignite.internal.processors.odbc.ClientListenerNioListener.onMessage(ClientListenerNioListener.java:137)
>
> at org.apache.ignite.internal.processors.odbc.ClientListenerNioListener.onMessage(ClientListenerNioListener.java:39)
>
> at org.apache.ignite.internal.util.nio.GridNioFilterChain$TailFilter.onMessageReceived(GridNioFilterChain.java:279)
>
> at org.apache.ignite.internal.util.nio.GridNioFilterAdapter.proceedMessageReceived(GridNioFilterAdapter.java:109)
>
> at org.apache.ignite.internal.util.nio.GridNioAsyncNotifyFilter$3.body(GridNioAsyncNotifyFilter.java:97)
>
> 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:1149)
>
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
>
> at java.lang.Thread.run(Thread.java:748)
>
>
>
> Select query works fine
>
> 0: jdbc:ignite:thin://127.0.0.1> select ACCOUNT_ID_LIST from
> "Customer".CUSTOMER where ACCOUNT_ID_LIST ='A100000001';
>
> +--------------------------------+
>
> | ACCOUNT_ID_LIST |
>
> +--------------------------------+
>
> | A100000001 |
>
> +--------------------------------+
>
> 1 row selected (1.342 seconds)
>
>
> Create index query failed with the below error
>
> 0: jdbc:ignite:thin://127.0.0.1> CREATE INDEX idx_customer_accountId
> ON "Customer".CUSTOMER (ACCOUNT_ID_LIST);
>
> Error: Cache doesn't exist: Customer (state=50000,code=0)
>
> java.sql.SQLException: Cache doesn't exist: Customer
>
> at org.apache.ignite.internal.jdbc.thin.JdbcThinConnection.sendRequest(JdbcThinConnection.java:671)
>
> at org.apache.ignite.internal.jdbc.thin.JdbcThinStatement.execute0(JdbcThinStatement.java:130)
>
> at org.apache.ignite.internal.jdbc.thin.JdbcThinStatement.execute(JdbcThinStatement.java:299)
>
> at sqlline.Commands.execute(Commands.java:823)
>
> at sqlline.Commands.sql(Commands.java:733)
>
> at sqlline.SqlLine.dispatch(SqlLine.java:795)
>
> at sqlline.SqlLine.begin(SqlLine.java:668)
>
> at sqlline.SqlLine.start(SqlLine.java:373)
>
> at sqlline.SqlLine.main(SqlLine.java:265)
>
>
> selectc query works fine even after issuing the create index query
> which is failed
>
> 0: jdbc:ignite:thin://127.0.0.1> select ACCOUNT_ID_LIST from
> "Customer".CUSTOMER where ACCOUNT_ID_LIST ='A100000001';
>
> +--------------------------------+
>
> | ACCOUNT_ID_LIST |
>
> +--------------------------------+
>
> | A100000001 |
>
> +--------------------------------+
>
> 1 row selected (1.641 seconds)
>
> 0: jdbc:ignite:thin://127.0.0.1>
>
> On Thu, Nov 30, 2017 at 9:04 PM, Taras Ledkov <tl...@gridgain.com> wrote:
>> Hi,
>>
>> I cannot reproduce the issue with described steps.
>> Please check that the cache wasn't destroyed on the server.
>>
>> i.e. please execute SELECT query again after failed CREATE INDEX.
>>
>>
>>
>> On 30.11.2017 11:45, Naveen wrote:
>>> Has anyone got a chance to look into into this issue where I am trying to
>>> create an index, but its throwing an error saying cache does not exist
>>>
>>> 0: jdbc:ignite:thin://127.0.0.1> select ACCOUNT_ID_LIST from
>>> "Customer".CUSTOMER where ACCOUNT_ID_LIST ='A100000001';
>>> +--------------------------------+
>>> | ACCOUNT_ID_LIST |
>>> +--------------------------------+
>>> | A100000001 |
>>> +--------------------------------+
>>> 1 row selected (2.078 seconds)
>>>
>>> **0: jdbc:ignite:thin://127.0.0.1> CREATE INDEX idx_customer_accountId ON
>>> "Customer".CUSTOMER (ACCOUNT_ID_LIST);*
>>> *Error: Cache doesn't exist: Customer (state=50000,code=0)
>>> java.sql.SQLException: Cache doesn't exist: Customer
>>> at
>>>
>>> org.apache.ignite.internal.jdbc.thin.JdbcThinConnection.sendRequest(JdbcThinConnection.java:671)
>>> at
>>>
>>> org.apache.ignite.internal.jdbc.thin.JdbcThinStatement.execute0(JdbcThinStatement.java:130)
>>> at
>>>
>>> org.apache.ignite.internal.jdbc.thin.JdbcThinStatement.execute(JdbcThinStatement.java:299)
>>> at sqlline.Commands.execute(Commands.java:823)
>>> at sqlline.Commands.sql(Commands.java:733)
>>> at sqlline.SqlLine.dispatch(SqlLine.java:795)
>>> at sqlline.SqlLine.begin(SqlLine.java:668)
>>> at sqlline.SqlLine.start(SqlLine.java:373)
>>> at sqlline.SqlLine.main(SqlLine.java:265)
>>> 0: jdbc:ignite:thin://127.0.0.1>
>>>
>>>
>>>
>>>
>>> --
>>> Sent from: http://apache-ignite-users.70518.x6.nabble.com/
>>
>> --
>> Taras Ledkov
>> Mail-To: tledkov@gridgain.com
>>
>
>
--
Taras Ledkov
Mail-To: tledkov@gridgain.com
Re: Index not getting created
Posted by Naveen Kumar <na...@gmail.com>.
Hi
Here is the node logs captured with -v option.
[22:56:41,291][SEVERE][client-connector-#618%IgnitePOC%][JdbcRequestHandler]
Failed to execute SQL query [reqId=0, req=JdbcQueryExecuteRequest
[schemaName=PUBLIC, pageSize=1024, maxRows=0, sqlQry=CREATE INDEX
idx_customer_accountId ON "Customer".CUSTOMER (ACCOUNT_ID_LIST),
args=[], stmtType=ANY_STATEMENT_TYPE]]
class org.apache.ignite.internal.processors.query.IgniteSQLException:
Cache doesn't exist: Customer
at org.apache.ignite.internal.processors.query.h2.ddl.DdlStatementsProcessor.convert(DdlStatementsProcessor.java:343)
at org.apache.ignite.internal.processors.query.h2.ddl.DdlStatementsProcessor.runDdlStatement(DdlStatementsProcessor.java:287)
at org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.queryDistributedSqlFields(IgniteH2Indexing.java:1466)
at org.apache.ignite.internal.processors.query.GridQueryProcessor$6.applyx(GridQueryProcessor.java:1966)
at org.apache.ignite.internal.processors.query.GridQueryProcessor$6.applyx(GridQueryProcessor.java:1962)
at org.apache.ignite.internal.util.lang.IgniteOutClosureX.apply(IgniteOutClosureX.java:36)
at org.apache.ignite.internal.processors.query.GridQueryProcessor.executeQuery(GridQueryProcessor.java:2445)
at org.apache.ignite.internal.processors.query.GridQueryProcessor.querySqlFieldsNoCache(GridQueryProcessor.java:1971)
at org.apache.ignite.internal.processors.odbc.jdbc.JdbcRequestHandler.executeQuery(JdbcRequestHandler.java:305)
at org.apache.ignite.internal.processors.odbc.jdbc.JdbcRequestHandler.handle(JdbcRequestHandler.java:164)
at org.apache.ignite.internal.processors.odbc.ClientListenerNioListener.onMessage(ClientListenerNioListener.java:137)
at org.apache.ignite.internal.processors.odbc.ClientListenerNioListener.onMessage(ClientListenerNioListener.java:39)
at org.apache.ignite.internal.util.nio.GridNioFilterChain$TailFilter.onMessageReceived(GridNioFilterChain.java:279)
at org.apache.ignite.internal.util.nio.GridNioFilterAdapter.proceedMessageReceived(GridNioFilterAdapter.java:109)
at org.apache.ignite.internal.util.nio.GridNioAsyncNotifyFilter$3.body(GridNioAsyncNotifyFilter.java:97)
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:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Select query works fine
0: jdbc:ignite:thin://127.0.0.1> select ACCOUNT_ID_LIST from
"Customer".CUSTOMER where ACCOUNT_ID_LIST ='A100000001';
+--------------------------------+
| ACCOUNT_ID_LIST |
+--------------------------------+
| A100000001 |
+--------------------------------+
1 row selected (1.342 seconds)
Create index query failed with the below error
0: jdbc:ignite:thin://127.0.0.1> CREATE INDEX idx_customer_accountId
ON "Customer".CUSTOMER (ACCOUNT_ID_LIST);
Error: Cache doesn't exist: Customer (state=50000,code=0)
java.sql.SQLException: Cache doesn't exist: Customer
at org.apache.ignite.internal.jdbc.thin.JdbcThinConnection.sendRequest(JdbcThinConnection.java:671)
at org.apache.ignite.internal.jdbc.thin.JdbcThinStatement.execute0(JdbcThinStatement.java:130)
at org.apache.ignite.internal.jdbc.thin.JdbcThinStatement.execute(JdbcThinStatement.java:299)
at sqlline.Commands.execute(Commands.java:823)
at sqlline.Commands.sql(Commands.java:733)
at sqlline.SqlLine.dispatch(SqlLine.java:795)
at sqlline.SqlLine.begin(SqlLine.java:668)
at sqlline.SqlLine.start(SqlLine.java:373)
at sqlline.SqlLine.main(SqlLine.java:265)
selectc query works fine even after issuing the create index query
which is failed
0: jdbc:ignite:thin://127.0.0.1> select ACCOUNT_ID_LIST from
"Customer".CUSTOMER where ACCOUNT_ID_LIST ='A100000001';
+--------------------------------+
| ACCOUNT_ID_LIST |
+--------------------------------+
| A100000001 |
+--------------------------------+
1 row selected (1.641 seconds)
0: jdbc:ignite:thin://127.0.0.1>
On Thu, Nov 30, 2017 at 9:04 PM, Taras Ledkov <tl...@gridgain.com> wrote:
> Hi,
>
> I cannot reproduce the issue with described steps.
> Please check that the cache wasn't destroyed on the server.
>
> i.e. please execute SELECT query again after failed CREATE INDEX.
>
>
>
> On 30.11.2017 11:45, Naveen wrote:
>>
>> Has anyone got a chance to look into into this issue where I am trying to
>> create an index, but its throwing an error saying cache does not exist
>>
>> 0: jdbc:ignite:thin://127.0.0.1> select ACCOUNT_ID_LIST from
>> "Customer".CUSTOMER where ACCOUNT_ID_LIST ='A100000001';
>> +--------------------------------+
>> | ACCOUNT_ID_LIST |
>> +--------------------------------+
>> | A100000001 |
>> +--------------------------------+
>> 1 row selected (2.078 seconds)
>>
>> **0: jdbc:ignite:thin://127.0.0.1> CREATE INDEX idx_customer_accountId ON
>> "Customer".CUSTOMER (ACCOUNT_ID_LIST);*
>> *Error: Cache doesn't exist: Customer (state=50000,code=0)
>> java.sql.SQLException: Cache doesn't exist: Customer
>> at
>>
>> org.apache.ignite.internal.jdbc.thin.JdbcThinConnection.sendRequest(JdbcThinConnection.java:671)
>> at
>>
>> org.apache.ignite.internal.jdbc.thin.JdbcThinStatement.execute0(JdbcThinStatement.java:130)
>> at
>>
>> org.apache.ignite.internal.jdbc.thin.JdbcThinStatement.execute(JdbcThinStatement.java:299)
>> at sqlline.Commands.execute(Commands.java:823)
>> at sqlline.Commands.sql(Commands.java:733)
>> at sqlline.SqlLine.dispatch(SqlLine.java:795)
>> at sqlline.SqlLine.begin(SqlLine.java:668)
>> at sqlline.SqlLine.start(SqlLine.java:373)
>> at sqlline.SqlLine.main(SqlLine.java:265)
>> 0: jdbc:ignite:thin://127.0.0.1>
>>
>>
>>
>>
>> --
>> Sent from: http://apache-ignite-users.70518.x6.nabble.com/
>
>
> --
> Taras Ledkov
> Mail-To: tledkov@gridgain.com
>
--
Thanks & Regards,
Naveen Bandaru
Re: Index not getting created
Posted by Taras Ledkov <tl...@gridgain.com>.
Hi,
I cannot reproduce the issue with described steps.
Please check that the cache wasn't destroyed on the server.
i.e. please execute SELECT query again after failed CREATE INDEX.
On 30.11.2017 11:45, Naveen wrote:
> Has anyone got a chance to look into into this issue where I am trying to
> create an index, but its throwing an error saying cache does not exist
>
> 0: jdbc:ignite:thin://127.0.0.1> select ACCOUNT_ID_LIST from
> "Customer".CUSTOMER where ACCOUNT_ID_LIST ='A100000001';
> +--------------------------------+
> | ACCOUNT_ID_LIST |
> +--------------------------------+
> | A100000001 |
> +--------------------------------+
> 1 row selected (2.078 seconds)
>
> **0: jdbc:ignite:thin://127.0.0.1> CREATE INDEX idx_customer_accountId ON
> "Customer".CUSTOMER (ACCOUNT_ID_LIST);*
> *Error: Cache doesn't exist: Customer (state=50000,code=0)
> java.sql.SQLException: Cache doesn't exist: Customer
> at
> org.apache.ignite.internal.jdbc.thin.JdbcThinConnection.sendRequest(JdbcThinConnection.java:671)
> at
> org.apache.ignite.internal.jdbc.thin.JdbcThinStatement.execute0(JdbcThinStatement.java:130)
> at
> org.apache.ignite.internal.jdbc.thin.JdbcThinStatement.execute(JdbcThinStatement.java:299)
> at sqlline.Commands.execute(Commands.java:823)
> at sqlline.Commands.sql(Commands.java:733)
> at sqlline.SqlLine.dispatch(SqlLine.java:795)
> at sqlline.SqlLine.begin(SqlLine.java:668)
> at sqlline.SqlLine.start(SqlLine.java:373)
> at sqlline.SqlLine.main(SqlLine.java:265)
> 0: jdbc:ignite:thin://127.0.0.1>
>
>
>
>
> --
> Sent from: http://apache-ignite-users.70518.x6.nabble.com/
--
Taras Ledkov
Mail-To: tledkov@gridgain.com
Re: Index not getting created
Posted by Alexey Kukushkin <ku...@gmail.com>.
Naveen,
Your "CREATE INDEX" syntax seems valid to me. Can you start server nodes
with debugging enabled, reproduce the problem and share the debug log
output from the servers?
Re: Index not getting created
Posted by Naveen <na...@gmail.com>.
Has anyone got a chance to look into into this issue where I am trying to
create an index, but its throwing an error saying cache does not exist
0: jdbc:ignite:thin://127.0.0.1> select ACCOUNT_ID_LIST from
"Customer".CUSTOMER where ACCOUNT_ID_LIST ='A100000001';
+--------------------------------+
| ACCOUNT_ID_LIST |
+--------------------------------+
| A100000001 |
+--------------------------------+
1 row selected (2.078 seconds)
**0: jdbc:ignite:thin://127.0.0.1> CREATE INDEX idx_customer_accountId ON
"Customer".CUSTOMER (ACCOUNT_ID_LIST);*
*Error: Cache doesn't exist: Customer (state=50000,code=0)
java.sql.SQLException: Cache doesn't exist: Customer
at
org.apache.ignite.internal.jdbc.thin.JdbcThinConnection.sendRequest(JdbcThinConnection.java:671)
at
org.apache.ignite.internal.jdbc.thin.JdbcThinStatement.execute0(JdbcThinStatement.java:130)
at
org.apache.ignite.internal.jdbc.thin.JdbcThinStatement.execute(JdbcThinStatement.java:299)
at sqlline.Commands.execute(Commands.java:823)
at sqlline.Commands.sql(Commands.java:733)
at sqlline.SqlLine.dispatch(SqlLine.java:795)
at sqlline.SqlLine.begin(SqlLine.java:668)
at sqlline.SqlLine.start(SqlLine.java:373)
at sqlline.SqlLine.main(SqlLine.java:265)
0: jdbc:ignite:thin://127.0.0.1>
--
Sent from: http://apache-ignite-users.70518.x6.nabble.com/