You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Nikolay Izhikov (Jira)" <ji...@apache.org> on 2026/06/24 15:03:00 UTC

[jira] [Created] (IGNITE-28817) Get rid of ThinClient get copy to BinaryObjectImpl

Nikolay Izhikov created IGNITE-28817:
----------------------------------------

             Summary: Get rid of ThinClient get copy to BinaryObjectImpl
                 Key: IGNITE-28817
                 URL: https://issues.apache.org/jira/browse/IGNITE-28817
             Project: Ignite
          Issue Type: Epic
            Reporter: Nikolay Izhikov
            Assignee: Nikolay Izhikov


Currently, from memory copy point of view `ClientCache#get` request process looks like:

  # Copy value from page memory (offheap) to BinaryObjectImpl (heap).
  # Copy value from BinaryObjectImpl (heap) to BinaryWriterEx (heap).
  # (?) Copy value from BinaryWriteEx to nio server buffers.

In case Ignite serving `ClientCache#get` request it possible to reduce copying and copy from page memory directly in BinaryWriter.

Possible algorithm looks like:

  # If data is local: local node owns requested key.,
  # if data fit in one page (simple scenariou can be widen to multipage case in next tickets)
  # then make page memory call with the callback that recieve: page pointer, value offset, value length.
  # and copy received data to writer
  # page read lock must be held while copying data from page to writer.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)