[
https://issues.apache.org/jira/browse/IGNITE-4571?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15829935#comment-15829935
]
Vladimir Ozerov commented on IGNITE-4571:
-----------------------------------------
[~kdudkov], [~yzhdanov]
Why are we going to use Random? Looks unreliable to me. {{AtomicLong}} striped
between thread-locals with {{incrementAndGet(1000L)}} gives very high
throughput on multi-cores (many millions ops/sec). You will have the same
performance, and it will be reliable at the same time.
> Optimize futVer generations
> ---------------------------
>
> Key: IGNITE-4571
> URL: https://issues.apache.org/jira/browse/IGNITE-4571
> Project: Ignite
> Issue Type: Task
> Reporter: Konstantin Dudkov
> Assignee: Konstantin Dudkov
>
> 1. Optimize futVer generations - need to get rid of using CacheVersion in
> favor of long value.
> Example
> org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicUpdateFuture.java:633
> org.apache.ignite.internal.processors.cache.version.GridCacheVersionManager#next(org.apache.ignite.internal.processors.affinity.AffinityTopologyVersion)
> Result:
> Need to replace cache version with random long (int), check compatibility and
> messages sizes before & after and benchmark.
> How:
> Use thread local random. Generate ID on atomic future store and switch it to
> putIfAbsent().
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)