You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Istvan Toth (Jira)" <ji...@apache.org> on 2024/04/29 07:57:00 UTC
[jira] [Updated] (HBASE-28556) Reduce memory copying in Rest server when serializing CellModel to Protobuf
[ https://issues.apache.org/jira/browse/HBASE-28556?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Istvan Toth updated HBASE-28556:
--------------------------------
Summary: Reduce memory copying in Rest server when serializing CellModel to Protobuf (was: Reduce memory copying in Rest server when converting CellModel to Protobuf)
> 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
> 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)