Title: #5539: [WIP] NSS: Clear negative cache when SIGHUP received
And please, if you think some comments are worth addition, feel free
to do so but please keep this as a separate patch. This would make `diff` easier to
I will split it into few commits when we agree that technical part is working correct.
But I would question "why" the same signal SIGHUP was
re-used both for log rotation and mem-cache clearance. As a result, sss_cache triggers
logs rotation. Is it intentional?
This is a good point, I think it may also contribute to the whole "slow files
provider" issue. But I think this should be addressed in separated PR / Issue.
And for the purpose of backward notification (if needed at all)
sss_cache could monitor mem-cache files itself.
I think approach with flag file was just simplest one. Also this way sss_cache needs to
care only about one file no mater how many cache files will be on SSSD side and how they
will be implemented.
You don't need to touch permanent entries to resolve this issue.
Here let me quote @sumit-bose [https://github.com/SSSD/sssd/issues/4973
you should check with @mzidek about his plans.
About the tricky part, the memory used by the in-memory tdb is not freed if individual
entries are removed so you have to close and open the tbd to get back the memory. Now you
should not forget to add the permanent entries again, but calling
sss_ncache_reset_repopulate_permanent() should be sufficient here.
See the full comment at https://github.com/SSSD/sssd/pull/5539#issuecomment-802946884