systemtap analysis shows heavy contention when accessing config_get_anon_limits_dn, config_get_dn_validate_strict, config_get_minssf_exclude_rootdse, config_get_maxthreadsperconn, config_get_max_filter_nest_level, config_get_ioblocktimeout, config_get_syntaxcheck, slapi_config_get_readonly, config_get_lastmod, config_get_schemacheck, config_get_syntaxlogging, config_get_require_secure_binds, config_get_rootdn, and other config parameters - we should investigate ways to access these values in a lock-free way - make a copy of these in the operation structure before each operation - use atomic variables for integer values - use thread local storage - use reference counting/hazard pointers
0001-Ticket-508-part-1-lock-free-access-to-FrontendConfig.patch 0001-Ticket-508-part-1-lock-free-access-to-FrontendConfig.patch
0002-Ticket-508-part-2-lock-free-access-to-FrontendConfig.patch 0002-Ticket-508-part-2-lock-free-access-to-FrontendConfig.patch
I noticed that not all of the config "get" functions, for settings that are "on|off", use CFG_ONOFF_LOCK_READ, but we use the write lock to set it. For example, config_get_accesslog_logging_enabled(). Is this by design?
Replying to [comment:5 mreynolds]:
I guess so. Some get/set functions never had locking at all, so I didn't add locking where it wasn't before.
To ssh://git.fedorahosted.org/git/389/ds.git cce46be..3d212a5 master -> master commit 3d212a5 Author: Rich Megginson rmeggins@redhat.com Date: Fri Nov 30 11:58:27 2012 -0700 commit a0caf59 Author: Rich Megginson rmeggins@redhat.com Date: Fri Nov 30 08:44:09 2012 -0700
Metadata Update from @rmeggins: - Issue assigned to rmeggins - Issue set to the milestone: 1.3.1
389-ds-base is moving from Pagure to Github. This means that new issues and pull requests will be accepted only in 389-ds-base's github repository.
This issue has been cloned to Github and is available here: - https://github.com/389ds/389-ds-base/issues/508
If you want to receive further updates on the issue, please navigate to the github issue and click on subscribe button.
subscribe
Thank you for understanding. We apologize for all inconvenience.
Metadata Update from @spichugi: - Issue close_status updated to: wontfix (was: Fixed)
Login to comment on this ticket.