[
https://issues.apache.org/jira/browse/IGNITE-28817?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Nikolay Izhikov updated IGNITE-28817:
-------------------------------------
Issue Type: Improvement (was: Epic)
> Get rid of ThinClient get copy to BinaryObjectImpl
> --------------------------------------------------
>
> Key: IGNITE-28817
> URL: https://issues.apache.org/jira/browse/IGNITE-28817
> Project: Ignite
> Issue Type: Improvement
> Reporter: Nikolay Izhikov
> Assignee: Nikolay Izhikov
> Priority: Major
>
> 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)