Uploaded image for project: 'Ignite'
  1. Ignite
  2. IGNITE-3828

Data streamer: use identity comparison for "activeKeys" in DataStreamerImpl.load0 method.

    XMLWordPrintableJSON

Details

    • Task
    • Status: Resolved
    • Minor
    • Resolution: Fixed
    • 1.7
    • 1.8
    • streaming

    Description

      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.

      Attachments

        Issue Links

          Activity

            People

              amashenkov Andrey Mashenkov
              vozerov Vladimir Ozerov
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: