directory-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Julian Rawcliffe <jrawcli...@london.edu>
Subject Corrupted backend DB - ADS 2.0.0-M11
Date Mon, 08 Apr 2013 13:36:20 GMT
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

Mime
View raw message