[Date Prev][Date Next] [Chronological] [Thread] [Top]

Re: (ITS#3765)



This is a multi-part message in MIME format.
--------------030504040700060408070506
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit

Howard Chu wrote:
> michael@stroeder.com wrote:
> 
>> Additional info: It does not seem to happen with back-bdb.
>>
>> Maybe when deleting entries back-hdb does not update the subordinate
>> flags?
>>   
> 
> Yes, I guess that's possible. I haven't seen the problem here though;
> can you send a test case to reproduce the situation?

See attachments and the following commands:

$ ldapadd -x -D "cn=root,dc=testing,dc=stroeder,dc=com" -w pest -f
~/tmp/test-recursive-delete.ldif

$ ldapdelete -x -r -D "cn=root,dc=testing,dc=stroeder,dc=com" -w pest -f
test-recursive-delete.dnlist
Delete Result: Operation not allowed on non-leaf (66)
Additional info: subordinate objects must be deleted first

Note that the log shows it e.g. fails at
ou=test1,ou=recursive delete,dc=testing,dc=stroeder,dc=com

But no search results below this node:

$ ldapsearch -x -D "cn=root,dc=testing,dc=stroeder,dc=com" -w pest -b
"ou=test1,ou=recursive delete,dc=testing,dc=stroeder,dc=com" -s one
"(objectClass=*)"
# extended LDIF
#
# LDAPv3
# base <ou=test1,ou=recursive delete,dc=testing,dc=stroeder,dc=com> with
scope oneLevel
# filter: (objectClass=*)
# requesting: ALL
#

# search result
search: 2
result: 0 Success

# numResponses: 1

$ ldapdelete -x -r -D "cn=root,dc=testing,dc=stroeder,dc=com" -w pest
"ou=test1,ou=recursive delete,dc=testing,dc=stroeder,dc=com"
Delete Result: Operation not allowed on non-leaf (66)
Additional info: subordinate objects must be deleted first

Ciao, Michael.

-- 
Michael Ströder
E-Mail: michael@stroeder.com
http://www.stroeder.com

-------------------------- Excerpt slapd.conf --------------------------
#######################################################################
# dc=testing,dc=stroeder,dc=com
#######################################################################

database	hdb

schemacheck on

#checkpoint 200 5

# Entries to cache in memory
cachesize 1000

# Search results to cache in memory
idlcachesize 100

suffix		"dc=testing,dc=stroeder,dc=com"
directory	/var/openldap/2.3/testing.stroeder.com
rootdn		"cn=root,dc=testing,dc=stroeder,dc=com"
rootpw		pest
lastmod		on

sizelimit	-1

--------------030504040700060408070506
Content-Type: text/plain;
 name="test-recursive-delete.dnlist"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
 filename="test-recursive-delete.dnlist"

ou=test0,ou=recursive delete,dc=testing,dc=stroeder,dc=com
ou=test1,ou=recursive delete,dc=testing,dc=stroeder,dc=com
ou=test11,ou=test1,ou=recursive delete,dc=testing,dc=stroeder,dc=com
ou=test311,ou=test31,ou=test3,ou=recursive delete,dc=testing,dc=stroeder,dc=com
ou=test33,ou=test3,ou=recursive delete,dc=testing,dc=stroeder,dc=com
ou=test32,ou=test3,ou=recursive delete,dc=testing,dc=stroeder,dc=com
ou=test31,ou=test3,ou=recursive delete,dc=testing,dc=stroeder,dc=com
ou=test3,ou=recursive delete,dc=testing,dc=stroeder,dc=com
ou=test22,ou=test2,ou=recursive delete,dc=testing,dc=stroeder,dc=com
ou=test21,ou=test2,ou=recursive delete,dc=testing,dc=stroeder,dc=com
ou=test2,ou=recursive delete,dc=testing,dc=stroeder,dc=com

--------------030504040700060408070506
Content-Type: text/plain;
 name="test-recursive-delete.ldif"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
 filename="test-recursive-delete.ldif"

dn: dc=testing,dc=stroeder,dc=com
objectClass: domain
dc: testing

dn: ou=recursive delete,dc=testing,dc=stroeder,dc=com
objectClass: organizationalUnit
ou: recursive delete

dn: ou=test0,ou=recursive delete,dc=testing,dc=stroeder,dc=com
objectClass: organizationalUnit
ou: test0

dn: ou=test2,ou=recursive delete,dc=testing,dc=stroeder,dc=com
objectClass: organizationalUnit
ou: test2

dn: ou=test1,ou=recursive delete,dc=testing,dc=stroeder,dc=com
objectClass: organizationalUnit
ou: test1

dn: ou=test21,ou=test2,ou=recursive delete,dc=testing,dc=stroeder,dc=com
objectClass: organizationalUnit
ou: test21

dn: ou=test22,ou=test2,ou=recursive delete,dc=testing,dc=stroeder,dc=com
objectClass: organizationalUnit
ou: test22

dn: ou=test3,ou=recursive delete,dc=testing,dc=stroeder,dc=com
objectClass: organizationalUnit
ou: test3

dn: ou=test31,ou=test3,ou=recursive delete,dc=testing,dc=stroeder,dc=com
objectClass: organizationalUnit
ou: test31

dn: ou=test32,ou=test3,ou=recursive delete,dc=testing,dc=stroeder,dc=com
objectClass: organizationalUnit
ou: test32

dn: ou=test33,ou=test3,ou=recursive delete,dc=testing,dc=stroeder,dc=com
objectClass: organizationalUnit
ou: test33

dn: ou=test311,ou=test31,ou=test3,ou=recursive delete,dc=testing,dc=stroeder,dc=com
objectClass: organizationalUnit
ou: test311

dn: ou=test11,ou=test1,ou=recursive delete,dc=testing,dc=stroeder,dc=com
objectClass: organizationalUnit
ou: test11


--------------030504040700060408070506--