[ https://issues.apache.org/jira/browse/IGNITE-9314?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Aleksey Plekhanov updated IGNITE-9314: -------------------------------------- Fix Version/s: (was: 2.9) > MVCC TX: Datastreamer operations > -------------------------------- > > Key: IGNITE-9314 > URL: https://issues.apache.org/jira/browse/IGNITE-9314 > Project: Ignite > Issue Type: Task > Components: mvcc > Reporter: Igor Seliverstov > Priority: Major > > Need to change DataStreamer semantics. > {{allowOverwrite=false}} mode currently is inconsistent with interval > _partition counters_ update approach used by MVCC transactions. > {{allowOverwrite=true}} mode is terribly slow when using single {{cache.put}} > operations (snapshot request, tx commit on coordinator overhead). Batched > mode using {{cache.putAll}} should handle write conflicts and possible > deadlocks. > Also there is a problem when {{DataStreamer}} with {{allowOverwrite == > false}} does not insert value when versions for entry exist but they all are > aborted. Proper transactional semantics should developed for such case. After > that attention should be put on Cache.size method behavior. Cache.size > addressed in https://issues.apache.org/jira/browse/IGNITE-8149 could be > decremented improperly in > {{org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManager#mvccRemoveAll}} > method (called during streamer processing) when all existing mvcc row > versions are aborted or last committed one is _remove_ version. -- This message was sent by Atlassian Jira (v8.3.4#803005)