URL:
https://github.com/SSSD/sssd/pull/5552
Title: #5552: files: split update into batches
elkoniu commented:
"""
Two more issues exists so far:
[ISSUE 1]
1) Add 5000 users without SSSD (raw NSS only, systemctl stop sssd, /etc/nsswitch.conf
-> files only)
2) Enable sss in /etc/nsswitch.conf (passwd -> sss files, group -> sss files)
3) Start SSSD
4) Remove few users manually from /etc/passwd
5) Call `time for N in `seq 5000`; do userdel -r test-user-$N; done`
Process will remove 1 user and will hang with `sssd_be` consuming `99%` of CPU, then
switching to `sss_cahce` consuming `99%` of CPU. After about 1min it will continue to
remove next user. At the end it takes around 1min to remove single user.
[ISSUE 2] - On top of steps from [ISSUE 1]
6) Stop SSSD: `systemctl stop sssd`
7) /etc/nsswitch.conf -> files only (sss removed from passwd and group to have only raw
NSS provider)
8) Call `time for N in `seq 5000`; do userdel -r test-user-$N; done`
userdel running on top of nss (SSSD stoped) still blocks and takes about 30s to remove
single user. Also `sss_cache` is visible in `top` command consuming up to 60% of CPU (even
with SSSD stopped)
It looks like those two issues are related to each other. The open question is if they are
directly related to this PR as in [ISSUE 2] SSSD is not running and it is on top of
"raw" files provider.
"""
See the full comment at
https://github.com/SSSD/sssd/pull/5552#issuecomment-872230342