[
https://issues.apache.org/jira/browse/HBASE-28597?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Istvan Toth updated HBASE-28597:
--------------------------------
Description:
REST currently uses its own (outdated) CellSetModel format for transferring
cells.
This is fine for XML and JSON, which are slow anyway and even slower handling
byte arrays, and is expected to be used in cases where a simple client code
which does not depend on the hbase java libraries is more important than raw
performance.
However, we perform the same marshalling and unmarshalling when we are using
protobuf, which doesn't really add value, but eats up resources.
We could add a new encoding for Results which uses the native cell format, by
simply dumping the binary cell bytestreams into the REST response body.
This should save a lot of resources on the server side, and would be either
faster, or the same speed on the client.
As an additional advantage, the resulting Cells would be of native HBase Cell
type instead of the REST Cell type.
was:
REST currently uses its own (outdated) CellSetModel format for transferring
cells.
This is fine for XML and JSON, which are slow anyway and even slower handling
byte arrays, and is expected to be used in cases where a simple client code
which does not depend on the hbase java libraries is more important than raw
performance.
However, we perform the same marshalling and unmarshalling when we are using
protobuf, which doesn't really add value, but eats up resources.
We could add a new encoding for Results which uses the native cell format in
protobuf, by simply dumping the binary cell bytestreams into the REST response
body.
This should save a lot of resources on the server side, and would be either
faster, or the same speed on the client.
As an additional advantage, the resulting Cells would be of native HBase Cell
type instead of the REST Cell type.
> Support native Cell format for protobuf in REST server and client
> -----------------------------------------------------------------
>
> Key: HBASE-28597
> URL: https://issues.apache.org/jira/browse/HBASE-28597
> Project: HBase
> Issue Type: Wish
> Components: REST
> Reporter: Istvan Toth
> Priority: Major
>
> REST currently uses its own (outdated) CellSetModel format for transferring
> cells.
> This is fine for XML and JSON, which are slow anyway and even slower handling
> byte arrays, and is expected to be used in cases where a simple client code
> which does not depend on the hbase java libraries is more important than raw
> performance.
> However, we perform the same marshalling and unmarshalling when we are using
> protobuf, which doesn't really add value, but eats up resources.
> We could add a new encoding for Results which uses the native cell format, by
> simply dumping the binary cell bytestreams into the REST response body.
> This should save a lot of resources on the server side, and would be either
> faster, or the same speed on the client.
> As an additional advantage, the resulting Cells would be of native HBase Cell
> type instead of the REST Cell type.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)