diff options
author | Alexander Bokovoy <abokovoy@redhat.com> | 2017-11-01 10:29:41 +0200 |
---|---|---|
committer | Alexander Bokovoy <abokovoy@redhat.com> | 2017-11-03 21:56:17 +0200 |
commit | 6fbf5891e9169142fc0ea37eb8f897a645b82d6f (patch) | |
tree | e14dd85f556d5f590f5f5eae0e348ca3c58e19fe /STATUS | |
parent | 6c4e8869ba6121ddbc6e1eca880c39b0af3391e0 (diff) | |
download | slapi-nis-6fbf5891e9169142fc0ea37eb8f897a645b82d6f.tar.gz slapi-nis-6fbf5891e9169142fc0ea37eb8f897a645b82d6f.tar.xz slapi-nis-6fbf5891e9169142fc0ea37eb8f897a645b82d6f.zip |
schema-compat: add support for timeout-based NSS queries with libsss_nss_idmap
In case libsss_nss_idmap provides timeout-enabled NSS API, use it.
This solves a problem of too long queries to an NSS backend with
traditional POSIX NSS API. In case SSSD takes too long to respond
to a query, corresponding 389-ds thread running schema-compat plugin
would stuck waiting that response. It can lead to an exhaustion of
389-ds threads.
A refactored interface to NSS backends is introduced with this commit.
A backend API looks like an API an NSS plugin has to implement in glibc
but also allows to handle timeout-based requests internally.
If backend implements timeout-enabled calls, then
backend_nss_set_timeout() function can be used to modify a per-context
state. There is no need for a caller to know whether backend supports
timeout-enabled calls because either way these calls are synchronous
and backend choice is done at compile-time.
schema-compat plugin uses 10 seconds as its default timeout. One can
change it via 'slapi-nss-timeout' attribute in the plugin config entry.
Diffstat (limited to 'STATUS')
0 files changed, 0 insertions, 0 deletions