Bug 785898

Summary: Enable midway cache refresh by default
Product: Red Hat Enterprise Linux 6 Reporter: Stephen Gallagher <sgallagh>
Component: sssdAssignee: Stephen Gallagher <sgallagh>
Status: CLOSED ERRATA QA Contact: IDM QE LIST <seceng-idm-qe-list>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 6.3CC: apeetham, grajaiya, jgalipea, prc
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: sssd-1.8.0-2.el6.beta2 Doc Type: Bug Fix
Doc Text:
Cause: For many releases, SSSD has had a performance option to enable updating of often-requested cache entries before their expiration in order to avoid cache-misses (and the wait time while the network communication occurs). This option was always disabled by default. Consequence: The default operation of SSSD's cache was not as efficient as it could be. Change: SSSD will now default to enabling the midway cache. Result: Users should see a significant reduction in cache-misses with SSSD, resulting in fewer interruptions in their workflow.
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-06-20 11:54:32 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Stephen Gallagher 2012-01-30 20:54:05 UTC
This bug is created as a clone of upstream ticket:
https://fedorahosted.org/sssd/ticket/918

SSSD has a cache update feature that can renew the cache prior to expiration to reduce the cache-miss penalty on oft-requested entries. We originally opted to leave it disabled by default (since it increases load slightly on the LDAP server).

However, I think the performance gains on the client side are well-worth the small load increase on the server side (which would still be much lower than the load without SSSD at all).

I propose that we should change the default value for {{{entry_cache_nowait_percentage}}} to be 50% (so entries would automatically refresh out-of-band when they were queried after half of their expiration time has passed).

Comment 1 Jenny Severance 2012-01-31 14:58:48 UTC
Please add steps to reproduce/verify this issue

Comment 2 Stephen Gallagher 2012-01-31 18:10:46 UTC
Steps to reproduce:

1. Set entry_cache_timeout = 10. Leave entry_cache_nowait_percentage unset (at defaults).
2. Run 'time getent passwd <legitimate_user>' fifteen times, with a one-second sleep.

Results prior to this change:
The first request would go to LDAP and wait for the reply (can be detected by longer result from 'time') and then would go back to LDAP again after ten seconds, resulting in a delay on the eleventh lookup.

After this change:
Only the first request will wait on an LDAP lookup. After that, if the requests are coming in consistently, the lookup will be able to return from cache immediately.

Comment 3 Stephen Gallagher 2012-01-31 18:11:51 UTC
Addendum: this concerns default behavior when entry_cache_nowait_percentage is unspecified. Previous versions of SSSD in RHEL would have been able to achieve this functionality by manually setting the entry_cache_nowait_percentage option to 50. This patch simply makes that value the default.

Comment 6 Amith 2012-05-02 22:09:16 UTC
Verified on sssd-1.8.0-22.el6.x86_64.

Comment 8 Stephen Gallagher 2012-06-12 13:30:00 UTC
    Technical note added. If any revisions are required, please edit the "Technical Notes" field
    accordingly. All revisions will be proofread by the Engineering Content Services team.
    
    New Contents:
Cause: For many releases, SSSD has had a performance option to enable updating of often-requested cache entries before their expiration in order to avoid cache-misses (and the wait time while the network communication occurs). This option was always disabled by default.

Consequence: The default operation of SSSD's cache was not as efficient as it could be.

Change: SSSD will now default to enabling the midway cache.

Result: Users should see a significant reduction in cache-misses with SSSD, resulting in fewer interruptions in their workflow.

Comment 10 errata-xmlrpc 2012-06-20 11:54:32 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

http://rhn.redhat.com/errata/RHBA-2012-0747.html