Bug #25060
openrgw-multisite:RGWDataSyncShardCR is wakened up too offen
0%
Description
RGWDataSyncShardCR should be wakened up every 20 seconds(defined by INCREMENTAL_INTERVAL) when there is no IO to rgw. But we found it is wakened up almost at every second in our production environment.
Further investigation shows that this is because of the out-band data process logic. Each time rgw receives out-band data, it will wake up the corresponding CR. But this CR will add a new timer event before it yield. With time passing, a CR will have more than one timer event, so it will be wakened up more than one time in every 20 seconds.
This problem can be reproduced as follows:
1. set rgw_data_log_num_shards = 1, debug_rgw = 20
2. `tail -f /var/log/ceph/ceph-client.rgw.1.log |grep "shard_id=0"`, this will print logs every 20 seconds
3. upload one file
4. observe results in step 2, it will print more log than before.
Updated by Xinying Song almost 6 years ago
Fix pr for master: https://github.com/ceph/ceph/pull/23174
Updated by Xinying Song almost 6 years ago
Since class RGWCompletionManager in master branch adds a new struct rgw_io_id, which is absent in luminous, backport work cannot achieve by cherry pick. Could anyone give some suggestion? Thanks.
Updated by Nathan Cutler almost 6 years ago
- Backport set to mimic,luminous
It's too early to backport. The master PR needs to merge, first, otherwise it's impossible to guarantee that the cherry-pick will be from a commit that is in master.
Updated by Nathan Cutler almost 6 years ago
- Status changed from New to Fix Under Review