You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Denis Chudov (Jira)" <ji...@apache.org> on 2022/02/24 11:43:00 UTC

[jira] [Created] (IGNITE-16625) Reduce the costs of updating hash maps contained in VersionedValues

Denis Chudov created IGNITE-16625:
-------------------------------------

             Summary: Reduce the costs of updating hash maps contained in VersionedValues
                 Key: IGNITE-16625
                 URL: https://issues.apache.org/jira/browse/IGNITE-16625
             Project: Ignite
          Issue Type: Improvement
            Reporter: Denis Chudov


The history of VersionedValue may contain different objects for each token. In the case of maps, which appeared to be common for TableManager and SqlQueryProcessor, we need to recreate the map on every update, adding all entries from the previous version and making some changes after it. This can slower updates and can cause excessive GC pressure.

We can reduce these costs by storing optimized data sctructure in VersionedValues instead of simple HashMaps. There could be an object, referring to original map and containing a patch for it, that represents an update that was done for VersionedValue within current causality token in comparing with the previous one.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)