Bug 1109378 - Environment variables are not passed when DS is started via service
Summary: Environment variables are not passed when DS is started via service
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: 389-ds-base
Version: 7.1
Hardware: Unspecified
OS: Unspecified
low
unspecified
Target Milestone: rc
: ---
Assignee: Noriko Hosoi
QA Contact: Viktor Ashirov
URL:
Whiteboard:
Depends On: 1109377 1110550
Blocks:
TreeView+ depends on / blocked
 
Reported: 2014-06-13 18:48 UTC by Noriko Hosoi
Modified: 2015-03-05 09:35 UTC (History)
2 users (show)

Fixed In Version: 389-ds-base-1.3.3.1-1.el7
Doc Type: Bug Fix
Doc Text:
Environment variables (except TERM and LANG) are ignored if a program is started via service. For tuning to prevent the memory fragmentation, mallopt environment variables (SLAPD_MXFAST, MALLOC_TRIM_THRESHOLD_ and MALLOC_MMAP_THRESHOLD_) are needed. To control them explicitly and to provide the same instructions to the service, the environment variables are made to be configurable via the Directory Server's configuration parameter.
Clone Of: 1109377
Environment:
Last Closed: 2015-03-05 09:35:31 UTC
Target Upstream Version:


Attachments (Terms of Use)


Links
System ID Priority Status Summary Last Updated
Red Hat Product Errata RHSA-2015:0416 normal SHIPPED_LIVE Important: 389-ds-base security, bug fix, and enhancement update 2015-03-05 14:26:33 UTC

Description Noriko Hosoi 2014-06-13 18:48:22 UTC
+++ This bug was initially created as a clone of Bug #1109377 +++

This bug is created as a clone of upstream ticket:
https://fedorahosted.org/389/ticket/47693

Environment variables (except TERM and LANG) are ignored if a program is started via service.

If it is started with systemctl, it takes this COMMAND and the values are correctly passed to the server.
systemctl set-environment SLAPD_MXFAST=0 MALLOC_TRIM_THRESHOLD_=4096

But to control them explicitly and to provide the same instructions to the service and systemctl, it'd be good to have some variables (proposing SLAPD_MXFAST, MALLOC_TRIM_THRESHOLD_, and MALLOC_MMAP_THRESHOLD_) configurable.

Comment 1 Noriko Hosoi 2014-06-18 00:01:26 UTC
Steps to Reproduce:
1. setup 2 way mmr
2. add then delete 1 million entries
3. add 250000 entries

Set these config parameters in cn=config
nsslapd-malloc-mxfast: 0
nsslapd-malloc-trim-threshold: 4069
nsslapd-malloc-mmap-threshold: 33554432

Restart the server.

Repeat these searches for 1 hour.
ldapsearch 'objectclass=nsTombstone'
ldapsearch 'objectclass=*'

If the server's process size is sane, the fix is verified.

Comment 3 Sankar Ramalingam 2015-01-21 14:39:07 UTC
Added and Deleted about 50000+ entries with these config parameters setting in cn=config. It took more than 6-8hrs to complete adding/deleting 50000+ entries.
nsslapd-malloc-mxfast: 0
nsslapd-malloc-trim-threshold: 4069
nsslapd-malloc-mmap-threshold: 33554432

And then, ran ldapsearch using "objectClass=nsTombstone" and objectClass=*.

There are no issues with memory observed. Also, there are no failures or memory issues reported from the reliab15 execution for 389-ds-base-1.3.3.1-10.

Hence, marking the bug as Verified.

Comment 5 errata-xmlrpc 2015-03-05 09:35:31 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://rhn.redhat.com/errata/RHSA-2015-0416.html


Note You need to log in before you can comment on or make changes to this bug.