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)