I have ApacheDS 2.0.0-M11 installed on Ubuntu 10.04 with Sun Java 6 and
appeared to have trashed the backend DB.
Directory Studio does not display any entries in an ou I have created (*),
although cmdline ldapsearch does retrieve entries.
I have created an LDIF to delete the user entries, but there are some entries
that still cannot be deleted.
The LDIF simply contains the DN followed by changetype: delete and a blank line
and has worked for most records.
The errors reported are:
ERROR [LDAP: error code 54 - LOOP_DETECT: failed for MessageType : DEL_REQUEST
Message ID : 77 Del request Entry :
'uid=olduser1,ou=People,o=domain,o=org'
org.apache.directory.api.ldap.model.message.DeleteRequestI
mpl@a6ccd999: null]
with subsequent deletion attempts reporting,
ERROR [LDAP: error code 2 - PROTOCOL_ERROR: The server will disconnect!]
Ideally I don't want to have to remove the entire directory server and
reinstall from scratch but can happily recreate the OU and re-populate.
What's the best approach for getting the database back in to a healthy
condition?
(*) If I use a search filter of (uid=*) in Studio, a list is returned (and the
error log entry below) but the details cannot be viewed.
The DS log is showing the following message:
[12:37:27] WARN [org.apache.directory.server.ldap.LdapProtocolHandler] -
Unexpected exception forcing session to close: sending disconnect notice to
client.
java.lang.Error: ERR_554 double get for block 62
at jdbm.recman.RecordFile.get(RecordFile.java:185)
at jdbm.recman.PhysicalRowIdManager.fetch(PhysicalRowIdManager.java:128)
at jdbm.recman.BaseRecordManager.fetch(BaseRecordManager.java:323)
at jdbm.recman.CacheRecordManager.fetch(CacheRecordManager.java:264)
at jdbm.btree.BPage.loadBPage(BPage.java:949)
at jdbm.btree.BPage.access$000(BPage.java:81)
at jdbm.btree.BPage$Browser.getNext(BPage.java:1395)
at
org.apache.directory.server.core.partition.impl.btree.jdbm.NoDupsCursor.next(NoDupsCursor.java:253)
at
org.apache.directory.server.core.partition.impl.btree.IndexCursorAdaptor.next(IndexCursorAdaptor.java:167)
at
org.apache.directory.server.xdbm.search.cursor.ChildrenCursor.next(ChildrenCursor.java:164)
at
org.apache.directory.server.xdbm.search.impl.CursorBuilder.computeOneLevelScope(CursorBuilder.java:409)
at
org.apache.directory.server.xdbm.search.impl.CursorBuilder.build(CursorBuilder.java:121)
at
org.apache.directory.server.xdbm.search.impl.DefaultSearchEngine.computeResult(DefaultSearchEngine.java:227)
at
org.apache.directory.server.core.partition.impl.btree.AbstractBTreePartition.search(AbstractBTreePartition.java:1025)
at
org.apache.directory.server.core.shared.partition.DefaultPartitionNexus.search(DefaultPartitionNexus.java:685)
at
org.apache.directory.server.core.api.interceptor.BaseInterceptor$1.search(BaseInterceptor.java:257)
at
org.apache.directory.server.core.api.interceptor.BaseInterceptor.next(BaseInterceptor.java:667)
at
org.apache.directory.server.core.subtree.SubentryInterceptor.search(SubentryInterceptor.java:1569)
at
org.apache.directory.server.core.api.interceptor.BaseInterceptor.next(BaseInterceptor.java:667)
at
org.apache.directory.server.core.collective.CollectiveAttributeInterceptor.search(CollectiveAttributeInterceptor.java:174)
at
org.apache.directory.server.core.api.interceptor.BaseInterceptor.next(BaseInterceptor.java:667)
at
org.apache.directory.server.core.operational.OperationalAttributeInterceptor.search(OperationalAttributeInterceptor.java:457)
at
org.apache.directory.server.core.api.interceptor.BaseInterceptor.next(BaseInterceptor.java:667)
at
org.apache.directory.server.core.schema.SchemaInterceptor.search(SchemaInterceptor.java:1269)
at
org.apache.directory.server.core.api.interceptor.BaseInterceptor.next(BaseInterceptor.java:667)
at
org.apache.directory.server.core.authz.DefaultAuthorizationInterceptor.search(DefaultAuthorizationInterceptor.java:343)
at
org.apache.directory.server.core.api.interceptor.BaseInterceptor.next(BaseInterceptor.java:667)
at
org.apache.directory.server.core.authz.AciAuthorizationInterceptor.search(AciAuthorizationInterceptor.java:1230)
at
org.apache.directory.server.core.api.interceptor.BaseInterceptor.next(BaseInterceptor.java:667)
at
org.apache.directory.server.core.authn.AuthenticationInterceptor.search(AuthenticationInterceptor.java:1150)
at
org.apache.directory.server.core.api.interceptor.BaseInterceptor.next(BaseInterceptor.java:667)
at
org.apache.directory.server.core.normalization.NormalizationInterceptor.search(NormalizationInterceptor.java:311)
at
org.apache.directory.server.core.DefaultOperationManager.search(DefaultOperationManager.java:1197)
at
org.apache.directory.server.core.shared.DefaultCoreSession.search(DefaultCoreSession.java:1039)
at
org.apache.directory.server.ldap.handlers.request.SearchRequestHandler.doSimpleSearch(SearchRequestHandler.java:811)
at
org.apache.directory.server.ldap.handlers.request.SearchRequestHandler.handleIgnoringReferrals(SearchRequestHandler.java:1148)
at
org.apache.directory.server.ldap.handlers.request.SearchRequestHandler.handleWithReferrals(SearchRequestHandler.java:1237)
at
org.apache.directory.server.ldap.handlers.request.SearchRequestHandler.handle(SearchRequestHandler.java:217)
at
org.apache.directory.server.ldap.handlers.request.SearchRequestHandler.handle(SearchRequestHandler.java:92)
at
org.apache.directory.server.ldap.handlers.LdapRequestHandler.handleMessage(LdapRequestHandler.java:207)
at
org.apache.directory.server.ldap.handlers.LdapRequestHandler.handleMessage(LdapRequestHandler.java:56)
at
org.apache.mina.handler.demux.DemuxingIoHandler.messageReceived(DemuxingIoHandler.java:221)
at
org.apache.directory.server.ldap.LdapProtocolHandler.messageReceived(LdapProtocolHandler.java:217)
at
org.apache.mina.core.filterchain.DefaultIoFilterChain$TailFilter.messageReceived(DefaultIoFilterChain.java:690)
at
org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:417)
at
org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1200(DefaultIoFilterChain.java:47)
at
org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:765)
at
org.apache.mina.core.filterchain.IoFilterEvent.fire(IoFilterEvent.java:74)
at org.apache.mina.core.session.IoEvent.run(IoEvent.java:63)
at
org.apache.mina.filter.executor.UnorderedThreadPoolExecutor$Worker.runTask(UnorderedThreadPoolExecutor.java:474)
at
org.apache.mina.filter.executor.UnorderedThreadPoolExecutor$Worker.run(UnorderedThreadPoolExecutor.java:428)
at java.lang.Thread.run(Thread.java:662)
[12:37:27] WARN [org.apache.directory.server.ldap.LdapProtocolHandler] - Null
LdapSession given to cleanUpSession.
Regards,
Julian