You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Denis Magda (JIRA)" <ji...@apache.org> on 2016/06/27 11:58:52 UTC
[jira] [Commented] (IGNITE-3372) IgniteDataStreamer: pre-loading
starvation if multiple streamers preload the same cache
[ https://issues.apache.org/jira/browse/IGNITE-3372?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15350877#comment-15350877 ]
Denis Magda commented on IGNITE-3372:
-------------------------------------
GitHub user dmagda opened a pull request:
https://github.com/apache/ignite/pull/831
ignite-3372: IgniteDataStreamer: pre-loading starvation if multiple streamers preload the same cache
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/gridgain/apache-ignite ignite-3372
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/ignite/pull/831.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #831
> IgniteDataStreamer: pre-loading starvation if multiple streamers preload the same cache
> ---------------------------------------------------------------------------------------
>
> Key: IGNITE-3372
> URL: https://issues.apache.org/jira/browse/IGNITE-3372
> Project: Ignite
> Issue Type: Bug
> Reporter: Denis Magda
> Assignee: Denis Magda
> Priority: Critical
> Attachments: jstack2.log
>
>
> If to start preloading a cache from multiple streamers on a node that owns partitions that are being preloaded then we will get performance degradation at some point in cases if:
> - BinaryMarshaller is used;
> - an entry key is a custom object for which we store data in metadata cache.
> The main reason according to the thread dumps attached is a race-condition around
> {{org.apache.ignite.internal.processors.cache.GridCacheMapEntry.obsolete(GridCacheMapEntry.java:2888)}}
> To improve the performance both {{GridDhtPartitionTopologyImpl.onRemove}} and {{GridDhtPartitionTopologyImpl.onAdded}} must reuse a partition number that is hold in entry.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)