You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently, we only update the sysdb cache when the cache timeout has expired. This means that the client must wait until a cache refresh of the entry completes.
In order to reduce the frequency that we block the clients for refreshes, we will implement an out-of-band update. If the client requests data that is available in the cache, we will return it immediately; if the time between now and the timeout period is less than half of the timeout interval, we will trigger a cache update behind the scenes, so that the next time a request is made, the cache will be more recent.
In a busy system (requests are received at least twice as often as the cache times out), this will significantly reduce cache update delay.
In a slow system (requests are received less often than the cache timeout), there will be no difference between this approach and the current implementation.
The worst-case scenario (that of the busy system) is that we will make twice as many cache requests to the back-end provider.
I'd like to see this as an optional feature and probably disabled by default.
If someone sees minor delays as a problem they may decide to turn this option up, but by default this would only generate more load on the system and more traffic on the network unnecessarily. IMO.
We've determined that to do this job correctly requires some refactoring of the nsssrv_cmd.c functions. This is a bigger job than is feasible in the 0.5.0 schedule, so I'm dropping the priority. It will be fixed immediately after 0.5.0.
component: SSSD => Data Provider
priority: blocker => major
Cloned from Pagure issue: https://pagure.io/SSSD/sssd/issue/5
Currently, we only update the sysdb cache when the cache timeout has expired. This means that the client must wait until a cache refresh of the entry completes.
In order to reduce the frequency that we block the clients for refreshes, we will implement an out-of-band update. If the client requests data that is available in the cache, we will return it immediately; if the time between now and the timeout period is less than half of the timeout interval, we will trigger a cache update behind the scenes, so that the next time a request is made, the cache will be more recent.
In a busy system (requests are received at least twice as often as the cache times out), this will significantly reduce cache update delay.
In a slow system (requests are received less often than the cache timeout), there will be no difference between this approach and the current implementation.
The worst-case scenario (that of the busy system) is that we will make twice as many cache requests to the back-end provider.
Comments
Comment from simo at 2009-03-17 16:10:04
I'd like to see this as an optional feature and probably disabled by default.
If someone sees minor delays as a problem they may decide to turn this option up, but by default this would only generate more load on the system and more traffic on the network unnecessarily. IMO.
Comment from sgallagh at 2009-06-16 16:55:58
Deferred for future optimization.
fixedin: =>
milestone: Iteration 2 => Deferred
Comment from sgallagh at 2009-07-01 16:56:07
Fields changed
milestone: Deferred => Iteration 6
Comment from sgallagh at 2009-08-12 16:02:26
Fields changed
status: new => assigned
Comment from sgallagh at 2009-08-14 15:20:15
Marking this bug as a blocker to 0.5.0 release.
priority: major => blocker
Comment from sgallagh at 2009-08-17 17:25:25
We've determined that to do this job correctly requires some refactoring of the nsssrv_cmd.c functions. This is a bigger job than is feasible in the 0.5.0 schedule, so I'm dropping the priority. It will be fixed immediately after 0.5.0.
component: SSSD => Data Provider
priority: blocker => major
Comment from sgallagh at 2009-08-24 17:20:11
Fields changed
milestone: SSSD 0.5.0 => SSSD 0.6.0
Comment from sgallagh at 2009-09-09 16:42:40
Fixed in ab66a19
HOWTO and manpages have been updated to include references to the new EntryCacheNoWaitRefreshTimeout.
When testing this feature, it is important to do so with enumerate = false, as the enumeration processing will hide this enhancement.
doc: => 1
docupdated: => 1
fixedin: => 0.6.0
resolution: => fixed
status: assigned => closed
tests: => 1
testsupdated: => 0
Comment from dpal at 2012-01-19 02:16:07
Fields changed
rhbz: => 0
Comment from sgallagh at 2017-02-24 14:58:24
Metadata Update from @sgallagh:
The text was updated successfully, but these errors were encountered: