You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Pavel Pereslegin (Jira)" <ji...@apache.org> on 2023/02/01 14:33:00 UTC

[jira] [Updated] (IGNITE-18691) Sql. Reduce overhead of sorting assignments.

     [ https://issues.apache.org/jira/browse/IGNITE-18691?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Pavel Pereslegin updated IGNITE-18691:
--------------------------------------
    Description: 
When we mapping a query, we need to know who is the primary replica for each partition.

Current implementation based on storing such leaders into an "ordered" list.  The element number in which corresponds to the partition number.

InternalTable has several methods to get current assignments (see {{InternalTable#assignments}} and {{InternalTable#primaryReplicas}}).

Currently each of them explicitly sort result using partition numbers.

This looks not optimal, since we call "assignments" for each table during preparing a single query.

One possible solution is to simply change the type of paritionMap inside InternalTableImpl to some kind of sorted implementation, but the disadvantages of this change should be carefully investigated.

  was:
When we mapping a query, we need to know who is the primary replica for each partition.

Current implementation based on storing such leaders into an "ordered" list.  The element number in which corresponds to the partition number.

InternalTable has several methods to get current assignments (see {{InternalTable#assignments}} and {{InternalTable#primaryReplicas}}).

Currently each of them explicitly sort result using partition numbers.

This looks not optimal, since we call "assignments" for each table during preparing a single query.

One possible solution is to simply change the type of paritionMap inside InternalTableImpl to some kind of sorted implementation, but the disadvantages of this change should be carefully considered.


> Sql. Reduce overhead of sorting assignments.
> --------------------------------------------
>
>                 Key: IGNITE-18691
>                 URL: https://issues.apache.org/jira/browse/IGNITE-18691
>             Project: Ignite
>          Issue Type: Task
>          Components: sql
>            Reporter: Pavel Pereslegin
>            Priority: Major
>              Labels: ignite-3
>
> When we mapping a query, we need to know who is the primary replica for each partition.
> Current implementation based on storing such leaders into an "ordered" list.  The element number in which corresponds to the partition number.
> InternalTable has several methods to get current assignments (see {{InternalTable#assignments}} and {{InternalTable#primaryReplicas}}).
> Currently each of them explicitly sort result using partition numbers.
> This looks not optimal, since we call "assignments" for each table during preparing a single query.
> One possible solution is to simply change the type of paritionMap inside InternalTableImpl to some kind of sorted implementation, but the disadvantages of this change should be carefully investigated.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)