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

Ivan Andika updated HDDS-11565:
-------------------------------
    Description: 
RATIS-872 introduces a new retry cache invalidation based on the replied call 
IDs on top of the existing time-based retry cache invalidation. 

This has already been used in Raft client created for Ratis write pipeline.

However, for OM and SCM since the Ratis request (RaftClientRequest) is 
submitted directly to the server. Even for SCM call with InvocationType Client 
and RaftClient created in CreatePipelineCommandHandler, the replied call IDs 
mechanism does not really work since the RaftClient is only created to send one 
request and then closed immediately.

OM and SCM may benefit by integrating with the new retry cache invalidation 
mechanism to reduce memory footprint. However, the implementation might be 
quite involved since it might require OM and SCM client implementation to keep 
track to its repliedCallids state (similar to how it's implemented in 
RaftClientImpl).

  was:
RATIS-872 introduces a new retry cache invalidation based on the replied call 
IDs on top of the existing time-based retry cache invalidation. 

This has already been used in Raft client created for Ratis write pipeline.

However, for OM and SCM since the Ratis request (RaftClientRequest) is 
submitted directly to the server. Even for SCM call with InvocationType Client 
and RaftClient created in CreatePipelineCommandHandler, the replied call IDs 
mechanism does not really work since the RaftClient is only created to send one 
request and then closed immediately.

OM and SCM may benefit by integrating with the new retry cache invalidation 
mechanism to reduce memory footprint. However, the implementation might be 
quite involved since it might require OM and SCM client to act like 
RaftClientImpl and implement keeping track to its repliedCallids state.


> Support retry cache CallId-based invalidation for OM and SCM
> ------------------------------------------------------------
>
>                 Key: HDDS-11565
>                 URL: https://issues.apache.org/jira/browse/HDDS-11565
>             Project: Apache Ozone
>          Issue Type: Improvement
>          Components: OM HA, SCM HA
>            Reporter: Ivan Andika
>            Priority: Major
>
> RATIS-872 introduces a new retry cache invalidation based on the replied call 
> IDs on top of the existing time-based retry cache invalidation. 
> This has already been used in Raft client created for Ratis write pipeline.
> However, for OM and SCM since the Ratis request (RaftClientRequest) is 
> submitted directly to the server. Even for SCM call with InvocationType 
> Client and RaftClient created in CreatePipelineCommandHandler, the replied 
> call IDs mechanism does not really work since the RaftClient is only created 
> to send one request and then closed immediately.
> OM and SCM may benefit by integrating with the new retry cache invalidation 
> mechanism to reduce memory footprint. However, the implementation might be 
> quite involved since it might require OM and SCM client implementation to 
> keep track to its repliedCallids state (similar to how it's implemented in 
> RaftClientImpl).



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

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to