ignite-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Dmitriy Setrakyan (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (IGNITE-1159) Redundant MVCC queue iteration may be removed
Date Sat, 01 Aug 2015 01:04:04 GMT

     [ https://issues.apache.org/jira/browse/IGNITE-1159?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Dmitriy Setrakyan updated IGNITE-1159:
--------------------------------------
    Fix Version/s:     (was: sprint-8)
                   ignite-1.4

> Redundant MVCC queue iteration may be removed
> ---------------------------------------------
>
>                 Key: IGNITE-1159
>                 URL: https://issues.apache.org/jira/browse/IGNITE-1159
>             Project: Ignite
>          Issue Type: Bug
>          Components: cache
>    Affects Versions: sprint-7
>            Reporter: Alexey Goncharuk
>            Assignee: Alexey Goncharuk
>             Fix For: ignite-1.4
>
>         Attachments: master_ignite-1159-updated.patch, master_ignite-1159.patch
>
>
> When MVCC lock candidates are added for multiple keys, they are linked together to ensure
proper lock acquisition order. The linkage is done in GridCacheMvccManager#addNext()
> The manager contains a thread-local queue of previously added candidates which is reset
after each message. When a candidate is added, addNext() iterates over the queue and unlinks
used candidates.
> The drawback of this code is that on large batches of size N (say, a batch of 100 values)
the code will execute N^2 operations which dramatically reduces performance of bulk transactions.
> It looks like that this code is unnecessary because:
> 1) Candidates cannot become used while lock request being processed.
> 2) There is no need to unlink as the candidates will be GCed after locks are released.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message