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)