ODSEE - After a failed MODRDN ldapmodify operations are slow. (Doc ID 1403735.1)

Last updated on OCTOBER 11, 2016

Applies to:

Oracle Directory Server Enterprise Edition - Version 6.0 to 11.1.1.5.0 [Release 6.0 to 11gR1]
Information in this document applies to any platform.
***Checked for relevance on 18-Dec-2013***

Symptoms

After a failed MODRDN ldapmodify operations are significantly slower.

[dsadm]
dsadm : 11.1.1.3.0 B2010.0630.2203 ZIP

Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.

[slapd 64-bit]
Sun Microsystems, Inc.
Sun-Directory-Server/11.1.1.3.0 B2010.0630.2203 64-bit
ns-slapd : 11.1.1.3.0 B2010.0630.2203 ZIP
Slapd Library : 11.1.1.3.0 B2010.0630.2203
Front-End Library : 11.1.1.3.0 B2010.0630.2203

Hardware:
Customer Hardware:
uname -a
SunOS server01 5.10 Generic_144488-12 sun4v sparc
SUNW,SPARC-Enterprise-T5220


TESTCASE (reproduced on DS 6.x and 11.1.1.5.0)
====================================
# dsadm -V ..
[dsadm]
dsadm : 11.1.1.5.0 B2011.0517.2251 ZIP

Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.


[slapd 64-bit]
Oracle Corporation.
Sun-Directory-Server/11.1.1.5.0 B2011.0517.2251 64-bit
ns-slapd : 11.1.1.5.0 B2011.0517.2251 ZIP
Slapd Library : 11.1.1.5.0 B2011.0517.2251
Front-End Library : 11.1.1.5.0 B2011.0517.2251

1. Create a new instance, no changes to caches, indexes, db-home etc....

# dsadm create -p 1115 -P 1116
/export/odsee11.5/instances/mark/ds1
Choose the Directory Manager password:
Confirm the Directory Manager password:
Use 'dsadm start '/export/odsee11.5/instances/mark/ds1'' to start the
instance

2. Start the DS.
# dsadm start /export/odsee11.5/instances/mark/ds1/
Directory Server instance '/export/odsee11.5/instances/mark/ds1' started:
pid=27830

3. Create a new suffix
# dsconf create-suffix -p 1115 dc=example,dc=com
Certificate "CN=slaney, CN=1116, CN=Directory Server, O=Sun Microsystems"
presented by the server is not trusted.
Type "Y" to accept, "y" to accept just once, "n" to refuse, "d" for more
details: Y
Enter "cn=Directory Manager" password:

4. Enable microsecond logging.

# dsconf set-log-prop -p 1115 -w /tmp/passwd access
level:default level:acc-timing

5. Import the sample example.ldif

# dsconf import -p 1115 -w /tmp/passwd
/export/odsee11.5/dsee7/resources/ldif/Example.ldif dc=example,dc=com
New data will override existing data of the suffix "dc=example,dc=com".
Initialization will have to be performed on replicated suffixes.
Do you want to continue [y/n] ? y
## Index buffering enabled with bucket size 40
## Beginning import job...
## Starting to process and index entries
## Processing file "/export/odsee11.5/dsee7/resources/ldif/Example.ldif"
## Finished scanning file
"/export/odsee11.5/dsee7/resources/ldif/Example.ldif" (160 entries)
## Workers finished; cleaning up...
## Workers cleaned up.
## Cleaning up producer thread...
## Indexing complete.
## Starting numsubordinates attribute generation.
## This may take a while, please wait for further activity reports.
## Numsubordinates attribute generation complete. Flushing caches...
## Closing files...
## Import complete. Processed 160 entries in 4 seconds. (40.00 entries/sec)

Task completed (slapd exit code: 0).

6. Run the following simple MOD

# cat mod-ahall.ldif
dn: uid=ahall, ou=People, dc=example,dc=com
changetype: modify
replace: givenname
givenname: Andrew

# while : ; do date; time ldapmodify -D "cn=directory manager" -j /tmp/passwd -p 1115 -a -f ./mod-ahall.ldif; done


Wed Nov 30 02:35:31 EST 2011
modifying entry uid=ahall, ou=People, dc=example,dc=com


real 0m0.015s
user 0m0.005s
sys 0m0.006s
Wed Nov 30 02:35:31 EST 2011
^C
real 0m0.009s
user 0m0.000s
sys 0m0.002s


[30/Nov/2011:02:35:30 -0500] conn=317 op=1 msgId=2 - MOD dn="uid=ahall, ou=People, dc=example,dc=com"
[30/Nov/2011:02:35:30 -0500] conn=317 op=1 msgId=2 - RESULT err=0 tag=103 nentries=0 etime=0.002780

7. Introduce the slowdown by running the following modrdn

# cat modrdn.ldif
dn: uid=scarter,ou=people,dc=example,dc=com
changetype: modrdn
newrdn: uid=scarter
deleteoldrdn: 1
newsuperior: ou=groups,dc=example,dc=com

# date; ldapmodify -D "cn=directory manager" -w password -p 1115 -a -f
./modrdn.ldif
Wed Nov 30 02:38:52 EST 2011
modifying RDN of entry uid=scarter,ou=people,dc=example,dc=com and/or moving
it beneath a new parent

ldap_rename: DSA is unwilling to perform
ldap_rename: additional info: This server is configured to refuse to move
entries.

8. The etimes for the MOD in step 5 jumps to 1 second!

Wed Nov 30 02:39:18 EST 2011
modifying entry uid=ahall, ou=People, dc=example,dc=com


real 0m0.999s
user 0m0.005s
sys 0m0.007s
Wed Nov 30 02:39:19 EST 2011
modifying entry uid=ahall, ou=People, dc=example,dc=com


real 0m1.001s
user 0m0.005s
sys 0m0.007s
Wed Nov 30 02:39:20 EST 2011



[30/Nov/2011:02:39:18 -0500] conn=4210 op=1 msgId=2 - MOD dn="uid=ahall, ou=People, dc=example,dc=com"
[30/Nov/2011:02:39:19 -0500] conn=4210 op=1 msgId=2 - RESULT err=0 tag=103 nentries=0 etime=0.987580

9. A restart of the DS restores performance until the next failed MODRDN.

Cause

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms