[ 
https://issues.apache.org/jira/browse/HBASE-28556?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Istvan Toth reassigned HBASE-28556:
-----------------------------------

    Assignee: Istvan Toth

> Reduce memory copying in Rest server when serializing CellModel to Protobuf
> ---------------------------------------------------------------------------
>
>                 Key: HBASE-28556
>                 URL: https://issues.apache.org/jira/browse/HBASE-28556
>             Project: HBase
>          Issue Type: Improvement
>          Components: REST
>            Reporter: Istvan Toth
>            Assignee: Istvan Toth
>            Priority: Major
>
> The REST server does a lot of unneccessary coping, which could be avoided at 
> least for protobuf encoding.
> - It uses ByteStringer to handle ByteBuffer backed Cells. However, it uses 
> the client API, so it sjpuld never encounter ByteBuffer backed cells.
> - It clones everything from the cells (sometimes multiple times) before 
> serializing to protbuf.
> We could mimic the structure in Cell, with array, offset and length for each 
> field, and use the appropriate protobuf setters to avoid the extra copies.
> There may or may not be a way to do the same for JSON and XML via jax-rs, I 
> don't know the frameworks well enough to tell, but if not, we could just do 
> the copying in the getters for them.



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

Reply via email to