https://bugs.openldap.org/show_bug.cgi?id=10021
Issue ID: 10021 Summary: Cannot insert data into wiredtiger backend Product: OpenLDAP Version: 2.6.4 Hardware: x86_64 OS: Linux Status: UNCONFIRMED Keywords: needs_review Severity: normal Priority: --- Component: backends Assignee: bugs@openldap.org Reporter: jailbird@fdf.net Target Milestone: ---
I have a test system running OpenLDAP 2.6.4 linked against WiredTiger 11.1.0 running on a RHEL9.1-based system. Running kernel is 6.1.16, filesystem is XFS.
back_wt.la was added to cn=module and a simple olcDatabase=wt was created like:
dn: olcDatabase=wt objectClass: olcDatabaseConfig objectClass: olcWtConfig olcDatabase: wt olcDbDirectory: /var/lib/ldap olcSuffix: dc=fdf,dc=net olcLimits: {0}dn.base="cn=root,dc=fdf,dc=net" time.soft=unlimited time.hard=u nlimited size.soft=unlimited size.hard=unlimited olcRootDN: cn=root,dc=fdf,dc=net olcWtConfig: create olcDbIndex: objectClass,uid,gidNumber,uidNumber pres,eq olcDbIndex: ou,cn,mail pres,eq,sub structuralObjectClass: olcWtConfig
I start slapd and it creates the database files correctly. I then go and try to create the container with a simple .ldif and ldapadd:
dn: dc=fdf,dc=net objectClass: dcObject objectClass: organization o: FDF dc: fdf
That generates:
[1677801597:758327][83158:0x55b4158fb640], file:dn2id.wt, WT_CURSOR.insert: [WT_VERB_DEFAULT][ERROR]: __wt_txn_id_check, 1339: write operations are not supported in read-committed or read-uncommitted transactions.: Operation not supported Mar 2 15:59:57 slapd[83158]: wt_dn2id_add: insert failed: Operation not supported (95)
That comes from WiredTiger @ https://github.com/wiredtiger/wiredtiger/blob/5a032be765b1ebd9bb789e837cd00c... but I don't seem to understand why it's happening on a simple add? Am I missing something obvious?
https://bugs.openldap.org/show_bug.cgi?id=10021
--- Comment #1 from Ondřej Kuzník ondra@mistotebe.net --- On Sat, Mar 11, 2023 at 06:15:52AM +0000, openldap-its@openldap.org wrote:
I have a test system running OpenLDAP 2.6.4 linked against WiredTiger 11.1.0 running on a RHEL9.1-based system. Running kernel is 6.1.16, filesystem is XFS.
back_wt.la was added to cn=module and a simple olcDatabase=wt was created like: [...]
I start slapd and it creates the database files correctly. I then go and try to create the container with a simple .ldif and ldapadd:
dn: dc=fdf,dc=net objectClass: dcObject objectClass: organization o: FDF dc: fdf
That generates:
[1677801597:758327][83158:0x55b4158fb640], file:dn2id.wt, WT_CURSOR.insert: [WT_VERB_DEFAULT][ERROR]: __wt_txn_id_check, 1339: write operations are not supported in read-committed or read-uncommitted transactions.: Operation not supported Mar 2 15:59:57 slapd[83158]: wt_dn2id_add: insert failed: Operation not supported (95)
Hi, does make test pass with wiredtiger for you? To run it just for that backend: cd tests; make wt
Thanks,
https://bugs.openldap.org/show_bug.cgi?id=10021
Quanah Gibson-Mount quanah@openldap.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Assignee|bugs@openldap.org |hamano@osstech.co.jp Keywords|needs_review |
https://bugs.openldap.org/show_bug.cgi?id=10021
--- Comment #2 from jailbird@fdf.net --- Good point!
I don't want to spam this with the whole output, but it looks like it has the same basic problem.
test000-rootdse & test001-slapadd pass, but test002-populate fails. Looking at the slapd.1.log:
640f758c.321fe80c 0x5576497f2640 slap_get_csn: conn=1001 op=1 generated new csn=20230313191212.840948Z#000000#000#000000 manage=1 640f758c.321ff276 0x5576497f2640 slap_queue_csn: queueing 0x557640103cc0 20230313191212.840948Z#000000#000#000000 640f758c.3221b577 0x5576497f2640 wt_add: session id: 0x55765aa591b8 640f758c.3221c8af 0x5576497f2640 => wt_dn2id_add 0x1: "dc=example,dc=com" [1678734732:841143][62141:0x5576497f2640], file:dn2id.wt, WT_CURSOR.insert: [WT_VERB_DEFAULT][ERROR]: __wt_txn_id_check, 1339: write operations are not supported in read-committed or read-uncommitted transactions.: Operation not supported 640f758c.32232fb5 0x5576497f2640 wt_dn2id_add: insert failed: Operation not supported (95) 640f758c.322344a8 0x5576497f2640 <= wt_dn2id_add 0x1: 95 640f758c.32234c91 0x5576497f2640 wt_add: dn2id_add failed: Operation not supported (95)
Looking at the blame of the WT repo, it looks like that part of the code is 3 years old, so I don't think it was a change on the WT side. I guess I'll try some bisects.
https://bugs.openldap.org/show_bug.cgi?id=10021
--- Comment #3 from Quanah Gibson-Mount quanah@openldap.org --- (In reply to jailbird from comment #2)
Looking at the blame of the WT repo, it looks like that part of the code is 3 years old, so I don't think it was a change on the WT side. I guess I'll try some bisects.
You might have better luck opening an issue with the people who wrote this code at https://github.com/osstech-jp/openldap/issues
https://bugs.openldap.org/show_bug.cgi?id=10021
--- Comment #4 from HAMANO Tsukasa hamano@osstech.co.jp --- I'll check it out in few days.
https://bugs.openldap.org/show_bug.cgi?id=10021
--- Comment #5 from HAMANO Tsukasa hamano@osstech.co.jp --- I confirmed the availability of WiredTiger packages in each distribution.
- Debian 12: WiredTiger 3.2.1 - Ubuntu 22.04 LTS: WiredTiger 3.2.1 - RHEL9: not yet provided.
It is possible that back-wt will eventually migrate to WiredTiger 11; however, it is premature to do so at this stage. Therefore, I recommend that you use version 3.2, it would be difficult for me to support both versions simultaneously.
https://github.com/wiredtiger/wiredtiger/releases
https://bugs.openldap.org/show_bug.cgi?id=10021
jailbird@fdf.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution|--- |INVALID
--- Comment #6 from jailbird@fdf.net --- Got it, thanks!
https://bugs.openldap.org/show_bug.cgi?id=10021
Quanah Gibson-Mount quanah@openldap.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |VERIFIED