ignite-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Vladimir Ozerov (JIRA)" <j...@apache.org>
Subject [jira] [Created] (IGNITE-3828) Data streamer: use identity comparison for "activeKeys" in DataStreamerImpl.load0 method.
Date Fri, 02 Sep 2016 15:14:20 GMT
Vladimir Ozerov created IGNITE-3828:
---------------------------------------

             Summary: 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
             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)

Mime
View raw message