On Thu, 2013-09-12 at 20:06 +0200, Michal Židek wrote:
> On 09/12/2013 05:48 PM, Simo Sorce wrote:
>> On Thu, 2013-09-12 at 11:23 +0200, Jakub Hrozek wrote:
>>> On Wed, Sep 11, 2013 at 05:54:01PM -0400, Simo Sorce wrote:
>>>> On Wed, 2013-09-11 at 20:19 +0200, Michal Židek wrote:
>>>>> Hello,
>>>>>
>>>>> I would like to have this option in SSSD for debugging purposes.
> It is
>>>>> not documented, so it should be invisible for users (but I can
> add it to
>>>>> man pages as well, if someone thinks it is useful to have it
> there).
>>>>
>>>> This would cause you to have stale mmap cache files on the system,
>>>> wouldn't it make more sense to have an environment variable for
> the
>>>> client libraries instead and have them ignore the mmap cache when
> you
>>>> want to test something ?
>>>
>>> This sounds like a good idea.
>>>
>>>> It could also be documented as it may be a useful workaround
> should a
>>>> user find a bug that hits the mmap_cache and wants a temporary way
> to
>>>> avoid it even if with performance penalty for a specific
> application.
>>>>
>>>> Something like SSS_NSS_USE_MEMCACHE=yes/no
>>>>
>>>> defaulting to yes, if no env var is found.
>
> Just found out that we have a check for _SSS_MC_SPECIAL in function
> sss_nss_mc_get_ctx. It makes the function fail returning the EPERM
> errno. I do not know what was the purpose of this variable, but it is
> exactly what we need.
>
> Maybe we should just rename this variable, because it is not cleat
> from
> first glance, what it really does (see attached patch).
Uhmmm I forgot why I added it, I guess for testing :)
>>>
>>> If I can speak for Michal -- we discussed that it might be nice to
> be able
>>> to temporarily disable the memcache somehow, but if there was a
> documented
>>> way, hitting memcache problems would simply disable it and don't
> even
>>> report a bug. Kind of like users switching SELinux to Permissive.
>>
>> Their choice.
>> I think it is more valuable to have the option than not for fear of
>> people not reporting bugs.
>>
>
> Ok. I added the man page change in the second patch.
>
>> Simo.
>>
>
> Patches are attached.
>
> Thanks
> Michal
>
>
>
>
>
>
>
> differences
> between files
> attachment
> (0001-Rename-_SSS_MC_SPECIAL.patch)
>
> From 595c9892ad2079276855519e1fac086b9d52f685 Mon Sep 17 00:00:00 2001
> From: Michal Zidek <mzidek(a)redhat.com>
> Date: Thu, 12 Sep 2013 19:45:39 +0200
> Subject: [PATCH 1/2] Rename _SSS_MC_SPECIAL
>
> If the environment variable _SSS_MC_SPECIAL is set to "NO", the
> mmap cache is skipped in the client code. The name is not very
> descriptive. This patch renames the variable to SSS_NSS_USE_MEMCACHE.
> ---
> src/sss_client/nss_mc_common.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/src/sss_client/nss_mc_common.c
> b/src/sss_client/nss_mc_common.c
> index 5d36c47..a0a70ab 100644
> --- a/src/sss_client/nss_mc_common.c
> +++ b/src/sss_client/nss_mc_common.c
> @@ -108,8 +108,8 @@ errno_t sss_nss_mc_get_ctx(const char *name,
> struct sss_cli_mc_ctx *ctx)
> char *envval;
> int ret;
>
> - envval = getenv("_SSS_MC_SPECIAL");
> - if (envval && strcmp(envval, "NO") == 0) {
> + envval = getenv("SSS_NSS_USE_MEMCACHE");
> + if (envval && strcasecmp(envval, "NO") == 0) {
> return EPERM;
> }
>
> --
> 1.7.11.2
ACK
>
>
>
>
>
>
>
> differences
> between files
> attachment
> (0002-man-sssd-Add-note-about-SSS_NSS_USE_MEMCACHE.patch)
>
> From f7d07757b00eec75716ae7b43403f206d81466b6 Mon Sep 17 00:00:00 2001
> From: Michal Zidek <mzidek(a)redhat.com>
> Date: Thu, 12 Sep 2013 19:51:55 +0200
> Subject: [PATCH 2/2] man sssd: Add note about SSS_NSS_USE_MEMCACHE
>
> ---
> src/man/sssd.8.xml | 8 ++++++++
> 1 file changed, 8 insertions(+)
>
> diff --git a/src/man/sssd.8.xml b/src/man/sssd.8.xml
> index 0aba418..3a0fc01 100644
> --- a/src/man/sssd.8.xml
> +++ b/src/man/sssd.8.xml
> @@ -187,6 +187,14 @@
> </variablelist>
> </refsect1>
>
> + <refsect1 id='notes'>
> + <title>NOTES</title>
> + <para>
> + If the environment variable SSS_NSS_USE_MEMCACHE is set
> to "NO",
> + the client applications will not use the fast in memory
drop 'the' --^^^^ in front of client
otherwise ACK
> cache.
> + </para>
> + </refsect1>
> +
> <xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
> href="include/seealso.xml" />
>
> </refentry>
> --
> 1.7.11.2
Thank you. New patches are attached.
Michal