Ivan Andika created RATIS-2509:
----------------------------------
Summary: Optimization to reduce serde cost in Ratis request and
response
Key: RATIS-2509
URL: https://issues.apache.org/jira/browse/RATIS-2509
Project: Ratis
Issue Type: Improvement
Reporter: Ivan Andika
Recently, we did a benchmark comparing the OM leader-read that does not go
through Ratis and OM leader read that go through Ratis (through
submitClientRequestAsync). We saw that there is up to 25% decrease in read
throughput although the we make the raft.server.read.option to be DEFAULT which
should return immediately.
The overheads seem to be because of request/response proto conversion,
RaftClientRequest construction, future chaining, .get() blocking, Ratis
metrics/reply building, and parsing the Ratis response back into OMResponse.
This means that if we submit linearizable read to follower, we incurs these
overhead on top of the linearizable read overhead (e.g. ReadIndex, etc).
We need to think on how to reduce the overhead.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)