[ 
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)

Reply via email to