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)