On Wed, Jan 27, 2016 at 10:24 AM, Jakub Hrozek <jhrozek(a)redhat.com> wrote:
btw the other thing we've been talking about is only do write
entry when it actually changes. Most of the time, when we refresh
the entry from the server, nothing changes. The idea would be to
write only the dataExpireTimestamp and other stampts to a separate
ldb file that would be in nosync mode. Only write the data with
full sync if something actually changes. That way, if we lose the
nosync database, we'd only lose timestamps.
FWIW, I think this is the best solution: it would greatly accelerate
the vast majority of lookups (all lookups except the initial one, or
when an entry changes), but it would sidestep the cache coherency
complexity that would result if syncs were disabled.
In contrast, adding an option to adjust the sync behavior would get
sssd into the business of ensuring cache consistency, which is very
difficult to get right. (Filesystem and database designers spend a
lot of time addressing these issues.)