[ 
https://issues.apache.org/jira/browse/IGNITE-3828?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15483473#comment-15483473
 ] 

ASF GitHub Bot commented on IGNITE-3828:
----------------------------------------

Github user asfgit closed the pull request at:

    https://github.com/apache/ignite/pull/1034


> Data streamer: use identity comparison for "activeKeys" in 
> DataStreamerImpl.load0 method.
> -----------------------------------------------------------------------------------------
>
>                 Key: IGNITE-3828
>                 URL: https://issues.apache.org/jira/browse/IGNITE-3828
>             Project: Ignite
>          Issue Type: Task
>          Components: streaming
>    Affects Versions: 1.7
>            Reporter: Vladimir Ozerov
>            Assignee: Andrew Mashenkov
>            Priority: Minor
>              Labels: performance
>             Fix For: 1.8
>
>
> See {{DataStreamerImpl.load0}} method. One of it's arguments is 
> {{activeKeys}} collection. Elements from this collection is removed when 
> batch is successfully applied on the server. Currently this collections is 
> concurrent hash set of {{KeyCacheObject}}. In case hash conflict occurs 
> (which is not unusual for streaming when lots of keys are loaded), it leads 
> to full byte-by-byte comparison of binary objects. It might be very 
> inefficient.
> To avoid the problem we should wrap {{KeyCacheObject}} into additional class 
> with overridden {{equals}} and {{hashCode}} methods, so equality check is 
> performed only through reference equality ({{==}}). This way hash conflicts 
> will be resolved extremely fast.



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

Reply via email to