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)

Reply via email to