asserts and manadatory build instructions (was ITS#8240)
by Michael Ströder
hyc(a)symas.com wrote in ITS#8240:
> Our patch response was too hasty. There is no OpenLDAP bug here, the real
> issue is production binaries being built with asserts enabled instead of
> compiling with -DNDEBUG. That's an issue for packagers and distros to resolve.
> Closing this ITS, not an OpenLDAP bug.
Maybe I missed something. But this is the first time I've heard about -DNDEBUG
being mandatory when compiling binary packages for production use. Does it
have other effects?
And what are general rules for assert statements in OpenLDAP code?
In my own (Python) code assert statements are supposed to be only triggered if
something goes wrong *internally* (type issues etc.). If somebody manages to
trigger an assert statement with invalid input from "outside" I always
consider this to be a serious bug revealing insufficient error handling even
though e.g. web2ldap just logs the exception but won't crash. YMMV, but please
clarify.
I also wonder whether there are more mandatory rules for building packages and
where I can find them.
Please don't get me wrong: My inquiry is in good faith to avoid unnecessary
ITS based on misunderstanding.
Ciao, Michael.
1 year, 10 months
Possibility of supporting snapshot in LMDB
by Xinhai Kang
Hi,
I am new to LMDB and I am checking the possibility of having persistent
snapshot support in LMDB.
In the current code, LMDB creates a transient snapshot when a transaction
is started. And also, LMDA supports multiple multiple databases in an
environment. I am wondering if it is possible to make the snapshot
persistent by storing the snapshot as a separate database (can different
database share pages? Or can multiple trees in the same database?).
I look forward to hearing from you! Or please kindly let me know if similar
feature has already been implemented somewhere.
Thanks a lot!
Xinhai
7 years, 10 months
RE24 testing call #4 (2.4.43) LMDB RE0.9 testing call #4 (0.9.17)
by Quanah Gibson-Mount
OpenLDAP 2.4.43 Engineering
Fixed liblber remove obsolete assert (ITS#8240, ITS#8301)
Fixed libldap file URLs on windows (ITS#8273)
Fixed libldap microsecond timer for windows (ITS#8295)
Fixed slap tools minor one time memory leak (ITS#8082)
Fixed slapd to avoid redundant processing of abandon ops (ITS#8232)
Fixed slapd syncrepl segv when present list is NULL (ITS#8231,
ITS#8042)
Fixed slapd segfault with invalid SASL URI (ITS#8218)
Fixed slapd configuration parser with unbalanced quotes (ITS#8233)
Fixed slapd syncrepl check with config db on windows (ITS#8277)
Fixed slapd with mod Increment and inherited attribute type
(ITS#8289)
Fixed slapd-ldap SEGV after failed retry (ITS#8173)
Fixed slapd-ldap to skip client controls in ldap_back_entry_get
(ITS#8244)
Fixed slapd-null to have an option to return a search entry
(ITS#8249)
Fixed slapd-relay to correctly handle quoted options (ITS#8284)
Fixed slapo-accesslog delta-sync MMR with interrupted refresh phase
(ITS#8281)
Fixed slapo-dds segfault when using slapo-memberof (ITS#8133)
Fixed slapo-ppolicy to allow purging of stale pwdFailureTime
attributes (ITS#8185)
Fixed slapo-ppolicy to release entry on failure (ITS#7537)
Fixed slapo-ppolicy to fall back to default policy if there is a
parsing error (ITS#8234)
Fixed slapo-syncprov with interrupted refresh phase (ITS#8281)
Fixed slapo-refint with subtree renames (ITS#8220)
Fixed slapo-rwm missing olcDropUnrequested attribute (ITS#7889)
Fixed slapo-rwm parsing to avoid double-escaping rewrite rules
(ITS#7964)
Build Environment
Fixed ldif-filter option parsing (ITS#8292)
Fixed slapd-tester EOL handling in test output for windows
(ITS#8280)
Fixed slapd-tester executable suffix for windows (ITS#8216)
Fixed test061 timing issues (ITS#8297)
Contrib
Added libnettle support to pw-pbkdf2 (ITS#8198)
Fixed smbk5pwd compiler warnings with libnettle (ITS#8235)
Fixed passwd symbol collisions with other crypto libraries
(ITS#8294)
Documentation
Updated guide to reflect changes to how TLS is handled with
syncrepl (ITS#7897)
LMDB 0.9.17 Release Engineering
Fix ITS#7377 catch calloc failure
Fix ITS#8237 regression from ITS#7589
Fix ITS#8238 page_split for DUPFIXED pages
Fix ITS#8221 MDB_PAGE_FULL on delete/rebalance
Fix ITS#8258 rebalance/split assert
Fix ITS#8263 cursor_put cursor tracking
Fix ITS#8264 cursor_del cursor tracking
Fix ITS#8299 mdb_del cursor tracking
Fix ITS#8300 mdb_del cursor tracking
Fix ITS#8304 mdb_del cursor tracking
Fix ITS#7771 fakepage cursor tracking
Fix ITS#7789 ensure mapsize >= pages in use
Fix ITS#7971 mdb_txn_renew0() new reader slots
Fix ITS#7969 use __sync_synchronize on non-x86
Added mdb_txn_id() (ITS#7994)
Added robust mutex support
Miscellaneous cleanup/simplification
Build
Create install dirs if needed (ITS#8256)
Fix ThreadProc decl on Win32/MSVC (ITS#8270)
Added ssize_t typedef for MSVC (ITS#8067)
Use ANSI apis on Windows (ITS#8069)
--
Quanah Gibson-Mount
Platform Architect
Zimbra, Inc.
--------------------
Zimbra :: the leader in open source messaging and collaboration
7 years, 10 months
Re: RE24 testing call #3 (2.4.43) LMDB RE0.9 testing call #3 (0.9.17)
by Quanah Gibson-Mount
--On Tuesday, November 10, 2015 3:50 PM -0500 Aaron Richton
<richton(a)nbcs.rutgers.edu> wrote:
> On Fedora 22 x86_64, test061 failure:
>>>>>> test061-syncreplication-initiation failed for mdb(exit 1)
> Makefile:309: recipe for target 'mdb-yes' failed
On slower systems, this is known to occur (the sleep interval isn't long
enough). You may wish to increase the sleep interval on this server.
--Quanah
--
Quanah Gibson-Mount
Platform Architect
Zimbra, Inc.
--------------------
Zimbra :: the leader in open source messaging and collaboration
7 years, 10 months
RE24 testing call #3 (2.4.43) LMDB RE0.9 testing call #3 (0.9.17)
by Quanah Gibson-Mount
OpenLDAP 2.4.43 Engineering
Fixed liblber remove obsolete assert (ITS#8240, ITS#8301)
Fixed libldap file URLs on windows (ITS#8273)
Fixed libldap microsecond timer for windows (ITS#8295)
Fixed slap tools minor one time memory leak (ITS#8082)
Fixed slapd to avoid redundant processing of abandon ops (ITS#8232)
Fixed slapd syncrepl segv when present list is NULL (ITS#8231,
ITS#8042)
Fixed slapd segfault with invalid SASL URI (ITS#8218)
Fixed slapd configuration parser with unbalanced quotes (ITS#8233)
Fixed slapd syncrepl check with config db on windows (ITS#8277)
Fixed slapd with mod Increment and inherited attribute type
(ITS#8289)
Fixed slapd-ldap SEGV after failed retry (ITS#8173)
Fixed slapd-ldap to skip client controls in ldap_back_entry_get
(ITS#8244)
Fixed slapd-null to have an option to return a search entry
(ITS#8249)
Fixed slapd-relay to correctly handle quoted options (ITS#8284)
Fixed slapo-accesslog delta-sync MMR with interrupted refresh phase
(ITS#8281)
Fixed slapo-dds segfault when using slapo-memberof (ITS#8133)
Fixed slapo-ppolicy to allow purging of stale pwdFailureTime
attributes (ITS#8185)
Fixed slapo-ppolicy to release entry on failure (ITS#7537)
Fixed slapo-ppolicy to fall back to default policy if there is a
parsing error (ITS#8234)
Fixed slapo-syncprov with interrupted refresh phase (ITS#8281)
Fixed slapo-refint with subtree renames (ITS#8220)
Fixed slapo-rwm missing olcDropUnrequested attribute (ITS#7889)
Fixed slapo-rwm parsing to avoid double-escaping rewrite rules
(ITS#7964)
Build Environment
Fixed slapd-tester EOL handling in test output for windows
(ITS#8280)
Fixed slapd-tester executable suffix for windows (ITS#8216)
Fixed ldif-filter option parsing (ITS#8292)
Contrib
Added libnettle support to pw-pbkdf2 (ITS#8198)
Fixed smbk5pwd compiler warnings with libnettle (ITS#8235)
Fixed passwd symbol collisions with other crypto libraries
(ITS#8294)
Documentation
Updated guide to reflect changes to how TLS is handled with
syncrepl (ITS#7897)
LMDB 0.9.17 Release Engineering
Fix ITS#7377 catch calloc failure
Fix ITS#8237 regression from ITS#7589
Fix ITS#8238 page_split for DUPFIXED pages
Fix ITS#8221 MDB_PAGE_FULL on delete/rebalance
Fix ITS#8258 rebalance/split assert
Fix ITS#8263 cursor_put cursor tracking
Fix ITS#8264 cursor_del cursor tracking
Fix ITS#8299 mdb_del cursor tracking
Fix ITS#8300 mdb_del cursor tracking
Fix ITS#8304 mdb_del cursor tracking
Fix ITS#7771 fakepage cursor tracking
Fix ITS#7789 ensure mapsize >= pages in use
Fix ITS#7971 mdb_txn_renew0() new reader slots
Fix ITS#7969 use __sync_synchronize on non-x86
Added mdb_txn_id() (ITS#7994)
Added robust mutex support
Miscellaneous cleanup/simplification
Build
Create install dirs if needed (ITS#8256)
Fix ThreadProc decl on Win32/MSVC (ITS#8270)
Added ssize_t typedef for MSVC (ITS#8067)
Use ANSI apis on Windows (ITS#8069)
--
Quanah Gibson-Mount
Platform Architect
Zimbra, Inc.
--------------------
Zimbra :: the leader in open source messaging and collaboration
7 years, 10 months
Re: openldap.git branch master updated. 2d5996ac603391ddbd618425f88eb13e5e0e2cc0
by Howard Chu
openldap-commit2devel(a)OpenLDAP.org wrote:
> A ref change was pushed to the OpenLDAP (openldap.git) repository.
> It will be available in the public mirror shortly.
>
> The branch, master has been updated
> via 2d5996ac603391ddbd618425f88eb13e5e0e2cc0 (commit)
> via 5324d283d9ff1ba0f608d1130be683eb698f831e (commit)
> from 9f97c1d2efdabc8817538464cd7d08d55f7e51fd (commit)
>
> Those revisions listed above that are new to this repository have
> not appeared on any other notification email; so we list those
> revisions in full, below.
>
> - Log -----------------------------------------------------------------
> commit 2d5996ac603391ddbd618425f88eb13e5e0e2cc0
> Author: Howard Chu <hyc(a)openldap.org>
> Date: Wed Oct 28 14:22:58 2015 +0000
>
> ITS#8054 Cleanup duration patch
>
> Don't need op->o_hr_time, just use o_tincr, that's what it
> was intended for anyway. Use "etime=" like other products do.
> Simplify ifdefs. Use gettimeofday, it's always available now.
>
> commit 5324d283d9ff1ba0f608d1130be683eb698f831e
> Author: Emily Backes <ebackes(a)symas.com>
> Date: Thu Feb 5 18:52:19 2015 -0800
>
> ITS#8054 operation duration logging
>
> -----------------------------------------------------------------------
>
> Summary of changes:
> include/ldap_log.h | 6 ++++++
> servers/slapd/operation.c | 32 +++++++++++++++++++++++---------
> servers/slapd/result.c | 42 ++++++++++++++++++++++++++++++++----------
> servers/slapd/slap.h | 20 ++++++++++++++++++++
> 4 files changed, 81 insertions(+), 19 deletions(-)
A note about this revised patch - accesslog uses op->o_time/op->o_tincr to
generate its RDNs. We actually have a problem here in that microsecond
resolution may no longer be adequate. Back in January I was on site with a
customer whose 64-core server was hitting ~1 million queries/sec. Granted,
that was with syslog and accesslog disabled; with logging enabled we're far
more limited.
Very soon we're going to need higher resolution when logging is enabled.
--
-- Howard Chu
CTO, Symas Corp. http://www.symas.com
Director, Highland Sun http://highlandsun.com/hyc/
Chief Architect, OpenLDAP http://www.openldap.org/project/
7 years, 10 months