You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Vyacheslav Koptilin (Jira)" <ji...@apache.org> on 2023/05/31 11:03:00 UTC

[jira] [Assigned] (IGNITE-19578) Decrease count of lease messages to meta storage

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

Vyacheslav Koptilin reassigned IGNITE-19578:
--------------------------------------------

    Assignee: Denis Chudov

> Decrease count of lease messages to meta storage
> ------------------------------------------------
>
>                 Key: IGNITE-19578
>                 URL: https://issues.apache.org/jira/browse/IGNITE-19578
>             Project: Ignite
>          Issue Type: Improvement
>            Reporter: Denis Chudov
>            Assignee: Denis Chudov
>            Priority: Major
>              Labels: ignite-3
>          Time Spent: 20m
>  Remaining Estimate: 0h
>
> *Motivation* 
> Huge number of lease messages cause serious load on meta storage, which impacts the performance of a cluster overall. Each lease message contains prefix + group name as a key, and the value contains leaseholder name, left and right timestamp and couple of boolean flags.
> Many leases share the same leaseholder. Also, many leases share the same right border, as batch of leases are renewed on every iteration of lease updater and get the same right border.
> So, the compacted data structure for all leases could be a map
> {code:java}
> right border -> set of leaseholders -> set of leases which contain only group name, left border and flags.{code}
> It is important that this data structure is applicable to meta storage representation, in-memory representation of leases should remain the same.
> *Definition of done*
> Count of meta storage invokes from lease updater is significantly reduced.
> *Implementation notes*
> The key should be prefix + right border. On each iteration the corresponding right border should be removed and new one put, so on each iteration there will be done just one meta storage invoke. 



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