[
https://issues.apache.org/jira/browse/IGNITE-5382?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16105031#comment-16105031
]
Alexander Paschenko commented on IGNITE-5382:
---------------------------------------------
[~skalashnikov]
my comments:
- are we right to pass {{null}} as first arg when calling
{{h2.executeSqlQueryWithTimer(null, c, "SELECT PLAN FROM "...}} in
{{GridReduceQueryExecutor#explainPlan}}?
- please create an explicit class for new map's key in {{IgniteH2Indexing}}
- in {{IgniteH2Indexing#unregisterCache}}, we don't touch new {{connCache}} map
at all, we should traverse all its elements and close/remove everything we
don't need. Also we mutate {{conns}} without touching {{connCache}} in
{{cancelAllQueries}} and {{stop}}. All in all I believe we should remove
{{conns}} at all and leave map only - in fact, we don't benefit for it in any
way (I don't see any random access cases for which Set semantic would be
useful, we either always have a full key <Thread, Schema> or iterate over all
collection anyway).
> SQL: frequent switch between schemas cause severe slowdown
> ----------------------------------------------------------
>
> Key: IGNITE-5382
> URL: https://issues.apache.org/jira/browse/IGNITE-5382
> Project: Ignite
> Issue Type: Task
> Components: cache, sql
> Reporter: Vladimir Ozerov
> Assignee: Sergey Kalashnikov
> Labels: important, performance
> Fix For: 2.2
>
>
> We have thread-bound cached connection to H2 database which is bound to
> specific schema. See {{IgniteH2Indexing.connectionForThread}}.
> When query with different schema is executed, we call {{SET SCHEMA}} command,
> which is rather expensive and may cause slowdown when queries form different
> caches are executed.
> To avoid this we should maintain thread-local map of such connections. Be
> careful with concurrency and resource leaks.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)