summaryrefslogtreecommitdiffstats
path: root/STATUS
diff options
context:
space:
mode:
authorAlexander Bokovoy <abokovoy@redhat.com>2017-11-01 10:29:41 +0200
committerAlexander Bokovoy <abokovoy@redhat.com>2017-11-03 21:56:17 +0200
commit6fbf5891e9169142fc0ea37eb8f897a645b82d6f (patch)
treee14dd85f556d5f590f5f5eae0e348ca3c58e19fe /STATUS
parent6c4e8869ba6121ddbc6e1eca880c39b0af3391e0 (diff)
downloadslapi-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