https://bugs.openldap.org/show_bug.cgi?id=10541
Issue ID: 10541
Summary: syncrepl regression with older format of entryCSN
Product: OpenLDAP
Version: 2.6.13
Hardware: All
OS: All
Status: UNCONFIRMED
Keywords: needs_review
Severity: normal
Priority: ---
Component: slapd
Assignee: bugs(a)openldap.org
Reporter: benp(a)reed.edu
Target Milestone: ---
We recently upgraded from openldap 2.6.10 to 2.6.13 (using debian packages from
symas.com). Subsequent to the upgrade we noticed that syncrepl was sometimes
failing to replicate changes to entries.
It appears that the behavior is triggered when modifying an entry with an older
style entryCSN (eg "entryCSN: 20210115230536Z#000001#00#000000" vs the current
style "entryCSN: 20260715174316.844052Z#000000#001#000000"). The updated entry
on the provider slapd gets a new entryCSN that uses the new format, but the
consumer slapds don't process the changes made to the entry, and log a failed
assertion (122) error like this:
Jul 8 10:39:28 slapd-c daemon.info slapd[129831]: 6a3f4436.0d08671e
0x7f6d411fc6c0 syncrepl_entry: rid=011 be_modify
uid=example-user,ou=People,dc=foo,dc=bar (122)
Deleting the problematic entry on the provider and then recreating it tends to
resolve the issue for us, presumably because the new entry has the normal
non-obsolete contextCSN attribute.
Our current production DB has ~22k entries, ~4k of which have older style
contextCSNs, so we'd love to avoid having to delete and recreate those ~4k
entries if we don't have to.
We have entryCSNs in at least 3 different formats:
entryCSN: 2003081423:11:31Z#0x000d#0#0000
entryCSN: 20230410142047Z#000000#00#000000
entryCSN: 20260313112653.221151Z#000000#001#000000
Our current configuration does not use accesslog, so replication is simple
syncrepl (vs delta-syncrepl).
It was suggested on the openldap-technical list that we consider filing an ITS
about this issue. Please let me know what additional supporting information
would be helpful. I'm not totally certain how to distill are slapd.d style
config to something concise enough for the bug tracker.
--
You are receiving this mail because:
You are on the CC list for the issue.
https://bugs.openldap.org/show_bug.cgi?id=10475
Quanah Gibson-Mount <quanah(a)openldap.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Resolution|TEST |FIXED
Status|RESOLVED |VERIFIED
--
You are receiving this mail because:
You are on the CC list for the issue.
https://bugs.openldap.org/show_bug.cgi?id=10539
Issue ID: 10539
Summary: LMDB 1.0.0 fails to compile on Windows
Product: LMDB
Version: 1.0.0
Hardware: All
OS: All
Status: UNCONFIRMED
Keywords: needs_review
Severity: normal
Priority: ---
Component: liblmdb
Assignee: bugs(a)openldap.org
Reporter: hyc(a)openldap.org
Target Milestone: ---
Various errors around use of LARGE_INTEGER
--
You are receiving this mail because:
You are on the CC list for the issue.
https://bugs.openldap.org/show_bug.cgi?id=10534
Issue ID: 10534
Summary: mdb_env_get_maxkeysize(): requires an _env_open()ed
handle
Product: LMDB
Version: unspecified
Hardware: All
OS: All
Status: UNCONFIRMED
Keywords: needs_review
Severity: normal
Priority: ---
Component: liblmdb
Assignee: bugs(a)openldap.org
Reporter: steffen(a)sdaoden.eu
Target Milestone: ---
Created attachment 1174
--> https://bugs.openldap.org/attachment.cgi?id=1174&action=edit
git-enabled patch
Super minor, but my LMDB implementation for the bogofilter program was buggy
because of this. They had to fix it accordingly after almost 8 years, when
updating to LMDB 1.0.
Suggested fix would be something like
- * @param[in] env An environment handle returned by #mdb_env_create()
+ * @param[in] env An environment handle that is #mdb_env_open()
Thanks! And ciao.
--
You are receiving this mail because:
You are on the CC list for the issue.
https://bugs.openldap.org/show_bug.cgi?id=10536
Issue ID: 10536
Summary: Re-fix ITS#8174 mdb_drop(MAIN_DBI)
Product: LMDB
Version: 1.0.0
Hardware: All
OS: All
Status: UNCONFIRMED
Keywords: needs_review
Severity: normal
Priority: ---
Component: liblmdb
Assignee: bugs(a)openldap.org
Reporter: hyc(a)openldap.org
Target Milestone: ---
The patch breaks mdb_drop() usability.
--
You are receiving this mail because:
You are on the CC list for the issue.
https://bugs.openldap.org/show_bug.cgi?id=10529
Issue ID: 10529
Summary: assertion failure
Product: LMDB
Version: 1.0.0
Hardware: x86_64
OS: Linux
Status: UNCONFIRMED
Keywords: needs_review
Severity: normal
Priority: ---
Component: liblmdb
Assignee: bugs(a)openldap.org
Reporter: christopher(a)gmerlin.de
Target Milestone: ---
When testing the OCaml bindings with lmdb 1.0 I encountered this assertion
failure:
at src/mdb.c:7588: Assertion 'root > 1' failed in mdb_page_search()")
It was triggered by:
- start transaction
- add new key-value
- commit transaction
- rollback transaction
- start read only transaction
- try to get any key -> assertion failure
On another note I notice that this fails with MDB_CANT_ROLLBACK:
- start transaction
- commit ¡EMPTY! transaction
- rollback transaction -> MDB_CANT_ROLLBACK
Of course this is a nonsensical transaction. But nevertheless maybe this case
should be mentioned in the documentation, too.
--
You are receiving this mail because:
You are on the CC list for the issue.
https://bugs.openldap.org/show_bug.cgi?id=10551
Issue ID: 10551
Summary: mdb_put() returns MDB_PAGE_FULL depending on
key-length parity and insertion order
Product: LMDB
Version: 1.0.0
Hardware: x86_64
OS: Linux
Status: UNCONFIRMED
Keywords: needs_review
Severity: normal
Priority: ---
Component: liblmdb
Assignee: bugs(a)openldap.org
Reporter: adam.req(a)gmx.de
Target Milestone: ---
Created attachment 1175
--> https://bugs.openldap.org/attachment.cgi?id=1175&action=edit
insertion order
## Background
I am currently getting familiar with LMDB and encountered the following
reproducible behavior.
## Tested versions
* OpenLDAP LMDB (`master`)
* LMDB (`mdb.RE/1.0`)
hint: 0.9.x was okay
## Description
A new LMDB environment is created, followed by the creation of two DBIs.
The attached key/value pairs are inserted using `mdb_put()` as follows (only
the first dbi was used here):
Key: excl. comma, including the terminating null character (`'\0'`)
Value: raw byte sequence (number of bytes exactly as shown in the attachment)
Example:
GX\c, 100 -> means 4+1(zero)=5 bytes for key, and 100 bytes for value
The final call to `mdb_put()` fails with:
MDB_PAGE_FULL: Internal error - page has no more space
## Reproduction
The failure is reproducible using the attached key/value sequence in "insertion
order" file.
The error does not occur if either of the following changes is made (just
tested):
* All keys are forced to have the same byte-length parity by appending an
additional `0x00` byte where necessary (all keys become either even- or
odd-sized).
* The last two insertions are swapped.
--
You are receiving this mail because:
You are on the CC list for the issue.
https://bugs.openldap.org/show_bug.cgi?id=10553
Issue ID: 10553
Summary: Fix types to allow compilation on windows
Product: LMDB
Version: 1.0.0
Hardware: All
OS: Windows
Status: UNCONFIRMED
Keywords: needs_review
Severity: normal
Priority: ---
Component: liblmdb
Assignee: bugs(a)openldap.org
Reporter: christopher(a)gmerlin.de
Target Milestone: ---
Created attachment 1178
--> https://bugs.openldap.org/attachment.cgi?id=1178&action=edit
Patch including ac041af3d
Compilation on windows fails because of pointer type errors.
Commit ac041af3dd044d433e73432839cc323bffa357f3 does not fix all of those
compilation failures:
* NtMapViewOfSection() expects void * in its 3rd argument.
* 7th expects SIZE_T *, but in mdb_env_copyfd0() a DWORD * is passed.
--
You are receiving this mail because:
You are on the CC list for the issue.
https://bugs.openldap.org/show_bug.cgi?id=10542
Issue ID: 10542
Summary: On Windows, allow using previous write behavior
Product: LMDB
Version: 1.0.0
Hardware: All
OS: Windows
Status: UNCONFIRMED
Keywords: needs_review
Severity: normal
Priority: ---
Component: liblmdb
Assignee: bugs(a)openldap.org
Reporter: hyc(a)openldap.org
Target Milestone: ---
ITS#9017 changed write behavior in Windows to use WRITE_THROUGH writes and
eliminate use of FlushFileBuffers(). Supposedly this yields faster write
performance because flushes are very slow. However, other users report this
approach is actually much slower than LMDB 0.9.
Add a compile-time flag to revert to the original write behavior.
--
You are receiving this mail because:
You are on the CC list for the issue.