ignite-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Alexander Paschenko (JIRA)" <j...@apache.org>
Subject [jira] [Comment Edited] (IGNITE-5382) SQL: frequent switch between schemas cause severe slowdown
Date Fri, 28 Jul 2017 14:31:00 GMT

    [ https://issues.apache.org/jira/browse/IGNITE-5382?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16105031#comment-16105031
] 

Alexander Paschenko edited comment on IGNITE-5382 at 7/28/17 2:30 PM:
----------------------------------------------------------------------

[~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}} ultimately and leave map only - in fact, we don't benefit
from that Set in any way now that we have single Map for everything (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).







was (Author: al.psc):
[~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)

Mime
View raw message