[ 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)