Details
-
Task
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
2.1
Description
When cache is started, this even is distributed through custom discovery message. Server nodes start the cache, client nodes do nothing until cache is requested explicitly. At the same time H2 database objects are created only when cache is really started.
For this reason query parsing could lead to TABLE NOT FOUND, INDEX NOT FOUND, etc. errors. If such exception is observed, we force start of all known cache on a client and then retry. See GridCacheProcessor#createMissingQueryCaches method.
First, client node cache start leads to another custom discovery message. So query performance may suffer. Second, this is not needed! We already have all necessary cache info in discovery.
Let's try to find a way to use available discovery data and do not start cache on a client for SQL query execution.
Attachments
Issue Links
- blocks
-
IGNITE-9989 JDBC v2: getPrimaryKeys always returns constant COLUMN_NAME, KEY_SEQ, PK_NAME
- Resolved
-
IGNITE-10118 JDBC v2: metadata.getSchemas returns cache names instead of schema names
- Resolved
- causes
-
IGNITE-13482 Client node cannot ALTER TABLE if it was created on a different node
- Open
- is duplicated by
-
IGNITE-8060 Sqline creating tables on client nodes works incorrect in case of node's shutdown
- Resolved
-
IGNITE-8100 jdbc getSchemas method could miss schemas for not started remote caches
- Resolved
-
IGNITE-8055 Sqline command !tables works incorrect for client node
- Resolved
-
IGNITE-4957 First join query execution in client mode takes too long when there are many caches on remote nodes
- Closed
- links to