#49304 when ldif is included duplicate dn, ldif2db error is occured.
Closed: wontfix Opened by sjsong.

Issue Description

when ldif is included duplicate dn, ldif2db error is occured.

Package Version and Platform

os : centos 7.3
389-ds-base: 1.3.5.10-21

Steps to reproduce

  1. make ldif
    dn: c=kr
    objectclass: top
    objectclass: country
    c: kr

dn: ou=people,c=kr
objectclass: top
objectclass: organizationalunit
ou: people

dn: ou=People,c=kr
objectclass: top
objectclass: organizationalUnit
ou: People

dn: uid=user.1,ou=People,c=kr
objectClass: top
objectClass: person
objectClass: organizationalPerson
objectClass: inetOrgPerson
objectClass: iBPerson
givenName: Aaccf
sn: Amar
cn: Aaccf Amar
uid: user.1
cid: user.1
mail: user.1@kebhana.com
userPassword: password
description: This is the description for Aaccf Amar.

  1. improt using db2ldif
    [28/Jun/2017:18:29:22.141507215 -0700] import userRoot: Closing files...
    [28/Jun/2017:18:29:22.165491016 -0700] libdb: BDB3028 userRoot/parentid.db: unable to flush: No such file or directory
    [28/Jun/2017:18:29:22.167532885 -0700] libdb: BDB3028 userRoot/id2entry.db: unable to flush: No such file or directory
    [28/Jun/2017:18:29:22.168750045 -0700] libdb: BDB3028 userRoot/entryrdn.db: unable to flush: No such file or directory
    /var/lib/dirsrv/slapd-ldap/db/userRoot: No such file or directory
    [28/Jun/2017:18:29:22.172768520 -0700] All database threads now stopped
    [28/Jun/2017:18:29:22.174868087 -0700] import userRoot: Import failed.

is removed userRoot folder.

Actual results

[28/Jun/2017:18:29:22.141507215 -0700] import userRoot: Closing files...
[28/Jun/2017:18:29:22.165491016 -0700] libdb: BDB3028 userRoot/parentid.db: unable to flush: No such file or directory
[28/Jun/2017:18:29:22.167532885 -0700] libdb: BDB3028 userRoot/id2entry.db: unable to flush: No such file or directory
[28/Jun/2017:18:29:22.168750045 -0700] libdb: BDB3028 userRoot/entryrdn.db: unable to flush: No such file or directory
/var/lib/dirsrv/slapd-ldap/db/userRoot: No such file or directory
[28/Jun/2017:18:29:22.172768520 -0700] All database threads now stopped
[28/Jun/2017:18:29:22.174868087 -0700] import userRoot: Import failed.

Expected results

[28/Jun/2017:18:30:39.095105813 -0700] import userRoot: Flushing caches...
[28/Jun/2017:18:30:39.096063088 -0700] import userRoot: Closing files...
[28/Jun/2017:18:30:39.989340715 -0700] All database threads now stopped
[28/Jun/2017:18:30:39.990415872 -0700] import userRoot: Import complete. Processed 10002 entries in 4 seconds. (2500.50 entries/sec)

workarround

delete duplicate value form ldif


Hey mate,

This isn't a bug. You have:

dn: ou=people,c=kr
dn: ou=People,c=kr

In LDAP DN's are "case-insensitive utf-8". That means that these two DN's are equivalent. So this error is correct and expected.

Sorry :(

Metadata Update from @firstyear:
- Custom field type adjusted to defect
- Issue close_status updated to: invalid
- Issue status updated to: Closed (was: Open)

ok I see. but this data is skipped in redhat directory 8.2.
thank you.

8.2 does not strictly or correctly enforce syntax on objects in the directory. That's why it works on 8.2 - but it is incorrect :)

thank you...

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/2363

If you want to receive further updates on the issue, please navigate to the github issue
and click on subscribe button.

Thank you for understanding. We apologize for all inconvenience.

Metadata Update from @spichugi:
- Issue close_status updated to: wontfix (was: invalid)

Metadata