-
Notifications
You must be signed in to change notification settings - Fork 301
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
DAOS-15914 dtx: control DTX RPC to reduce network load
1. Send DTX batched commit RPCs step by step Currently, for each DTX batched commit operation, it will handle at most 512 DTX entries that may generate DTX commit RPCs to thousands of DAOS targets. We will not send out the batched RPCs all together, instead, we will send them step by step. After each step, the logic will yield and wait until replied, and then next batched RPCs. That can avoid holding too much system resources for relative long time. It is also helpful to reduce the whole system network peak load and the pressure on related targets. 2. Cleanup stale DTX based on global RPC timeout Originally, DTX cleanup logic will be triggered if the life for some stale DTX exceeds the fixed threshold DTX_CLEANUP_THD_AGE_UP (90 sec) that maybe smaller than global default RPC timeout, as to related DTX refresh RPC for cleanup logic maybe send out too early before related modification RPC(s) timeout. It increases network load unnecessarily. Then we adjust the DTX cleanup threshold based on global default RPC timeout value, and give related DTX leader sometime after default RPC timeout to commit or abort the DTX. If the DTX is still prepared after that, then trigger DTX cleanup to handle potential stale DTX entries. 3. Reorg DTX CoS logic Reduce the RPCs caused by potential repeated DTX commit. More clear names for DTX CoS API. Signed-off-by: Fan Yong <fan.yong@intel.com>
- Loading branch information
1 parent
4d00fa8
commit 30ef9f8
Showing
14 changed files
with
373 additions
and
271 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.