[ https://issues.apache.org/jira/browse/DIRSERVER-2047?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14346279#comment-14346279 ]
linzhao commented on DIRSERVER-2047: ------------------------------------ I should say I find another exception during the testing. when delete entry from apacheds. Exception list below, may be this exception is not related to the OOM exception. [06:22:04] WARN [org.apache.directory.server.core.api.interceptor.context.FilteringOperationContext] - Requested attribute javaRemoteLocation does not exist in the schema, it will be ignored [06:25:40] ERROR [org.apache.directory.server.core.partition.impl.btree.mavibot.MavibotTable] - ERR_133 Exception while removing 6c7dd69c-0f53-4b49-8ce6-be84b165938b from index 1.3.6.1.4.1.18060.0.4.1.2.50_reverse java.lang.ArrayIndexOutOfBoundsException: 6 at org.apache.directory.mavibot.btree.RecordManager.readBytes(RecordManager.java:1209) at org.apache.directory.mavibot.btree.RecordManager.readPage(RecordManager.java:1021) at org.apache.directory.mavibot.btree.RecordManager.deserialize(RecordManager.java:989) at org.apache.directory.mavibot.btree.PersistedPageHolder.fetchElement(PersistedPageHolder.java:133) at org.apache.directory.mavibot.btree.PersistedPageHolder.getValue(PersistedPageHolder.java:113) at org.apache.directory.mavibot.btree.AbstractPage.getReference(AbstractPage.java:155) at org.apache.directory.mavibot.btree.RecordManager.serializeNodeValue(RecordManager.java:1708) at org.apache.directory.mavibot.btree.RecordManager.serializePage(RecordManager.java:1653) at org.apache.directory.mavibot.btree.RecordManager.writePage(RecordManager.java:2808) at org.apache.directory.mavibot.btree.PersistedNode.createHolder(PersistedNode.java:906) at org.apache.directory.mavibot.btree.PersistedNode.handleRemoveResult(PersistedNode.java:207) at org.apache.directory.mavibot.btree.PersistedNode.delete(PersistedNode.java:607) at org.apache.directory.mavibot.btree.AbstractPage.delete(AbstractPage.java:217) at org.apache.directory.mavibot.btree.PersistedBTree.processDelete(PersistedBTree.java:332) at org.apache.directory.mavibot.btree.PersistedBTree.delete(PersistedBTree.java:292) at org.apache.directory.mavibot.btree.AbstractBTree.delete(AbstractBTree.java:390) at org.apache.directory.mavibot.btree.AbstractBTree.delete(AbstractBTree.java:324) at org.apache.directory.mavibot.btree.PersistedBTree.delete(PersistedBTree.java:43) at org.apache.directory.server.core.partition.impl.btree.mavibot.MavibotTable.remove(MavibotTable.java:389) at org.apache.directory.server.core.partition.impl.btree.mavibot.MavibotIndex.drop(MavibotIndex.java:391) at org.apache.directory.server.core.partition.impl.btree.mavibot.MavibotIndex.drop(MavibotIndex.java:58) at org.apache.directory.server.core.partition.impl.btree.AbstractBTreePartition.delete(AbstractBTreePartition.java:1078) at org.apache.directory.server.core.partition.impl.btree.AbstractBTreePartition.delete(AbstractBTreePartition.java:917) at org.apache.directory.server.core.shared.partition.DefaultPartitionNexus.delete(DefaultPartitionNexus.java:405) at org.apache.directory.server.core.api.interceptor.BaseInterceptor$1.delete(BaseInterceptor.java:192) at org.apache.directory.server.core.api.interceptor.BaseInterceptor.next(BaseInterceptor.java:490) at org.apache.directory.server.core.journal.JournalInterceptor.delete(JournalInterceptor.java:181) at org.apache.directory.server.core.api.interceptor.BaseInterceptor.next(BaseInterceptor.java:490) at org.apache.directory.server.core.trigger.TriggerInterceptor.delete(TriggerInterceptor.java:336) at org.apache.directory.server.core.api.interceptor.BaseInterceptor.next(BaseInterceptor.java:490) at org.apache.directory.server.core.event.EventInterceptor.delete(EventInterceptor.java:250) at org.apache.directory.server.core.api.interceptor.BaseInterceptor.next(BaseInterceptor.java:490) at org.apache.directory.server.core.subtree.SubentryInterceptor.delete(SubentryInterceptor.java:1058) at org.apache.directory.server.core.api.interceptor.BaseInterceptor.next(BaseInterceptor.java:490) at org.apache.directory.server.core.operational.OperationalAttributeInterceptor.delete(OperationalAttributeInterceptor.java:462) at org.apache.directory.server.core.api.interceptor.BaseInterceptor.next(BaseInterceptor.java:490) at org.apache.directory.server.core.exception.ExceptionInterceptor.delete(ExceptionInterceptor.java:207) at org.apache.directory.server.core.api.interceptor.BaseInterceptor.next(BaseInterceptor.java:490) at org.apache.directory.server.core.admin.AdministrativePointInterceptor.delete(AdministrativePointInterceptor.java:1261) at org.apache.directory.server.core.api.interceptor.BaseInterceptor.next(BaseInterceptor.java:490) at org.apache.directory.server.core.authz.DefaultAuthorizationInterceptor.delete(DefaultAuthorizationInterceptor.java:225) at org.apache.directory.server.core.api.interceptor.BaseInterceptor.next(BaseInterceptor.java:490) at org.apache.directory.server.core.authz.AciAuthorizationInterceptor.delete(AciAuthorizationInterceptor.java:663) at org.apache.directory.server.core.api.interceptor.BaseInterceptor.next(BaseInterceptor.java:490) at org.apache.directory.server.core.referral.ReferralInterceptor.delete(ReferralInterceptor.java:288) at org.apache.directory.server.core.api.interceptor.BaseInterceptor.next(BaseInterceptor.java:490) at org.apache.directory.server.core.authn.AuthenticationInterceptor.delete(AuthenticationInterceptor.java:754) at org.apache.directory.server.core.api.interceptor.BaseInterceptor.next(BaseInterceptor.java:490) at org.apache.directory.server.core.normalization.NormalizationInterceptor.delete(NormalizationInterceptor.java:174) at org.apache.directory.server.core.DefaultOperationManager.delete(DefaultOperationManager.java:641) at org.apache.directory.server.core.shared.DefaultCoreSession.delete(DefaultCoreSession.java:924) at org.apache.directory.server.core.shared.DefaultCoreSession.delete(DefaultCoreSession.java:907) at org.apache.directory.server.ldap.handlers.request.DeleteRequestHandler.handle(DeleteRequestHandler.java:55) at org.apache.directory.server.ldap.handlers.request.DeleteRequestHandler.handle(DeleteRequestHandler.java:39) 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:854) at org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:542) at org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1300(DefaultIoFilterChain.java:48) at org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:943) 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:475) at org.apache.mina.filter.executor.UnorderedThreadPoolExecutor$Worker.run(UnorderedThreadPoolExecutor.java:429) at java.lang.Thread.run(Thread.java:745) > Some data can be lost when using ldapadd command to insert data into apacheds > ----------------------------------------------------------------------------- > > Key: DIRSERVER-2047 > URL: https://issues.apache.org/jira/browse/DIRSERVER-2047 > Project: Directory ApacheDS > Issue Type: Bug > Components: ldap > Affects Versions: 2.0.0-M19 > Environment: centOS 6.5 with openldap and apacheds installed > Reporter: linzhao > Priority: Blocker > Labels: LDAP > Fix For: 2.0.0-M20 > > Attachments: ordered-data.ldif, site.ldif, site_topology_schema.ldif, > supercluster_partition.ldif > > > In our system, we need to do data backup and restore for apacheds. For now, > we use the ldapsearch and ldapadd command to do BR function. We use > ldapsearch to backup apacheds data to be a ldif file and use ldapadd to > restore the data. But when the ldif is a little big, I always found that the > data can't be restored successfully, but the ladpadd command showed that the > data can be added successfully. No exceptions for ldapadd command. But the > restored data didn't exist in the node. This bug only happened when the ldif > file is a little big. I mean if the data entry greater than 500 entries. But > the node for backup and restore is using mavibot partition. Because I found > so many problems for jdbm. So I change it to mavibot partition. Another > question is that do you know is there some good way to do the data backup and > restore for apacheds? > May be my mavibot partition has some problems, so someone can tell me how to > create a mavibot partition in APACHEDS? Because the mavibot parttion I > created can't be viewed when click the "Open Configuration" in apacheds > studio. Also I used unboundid JDK to insert many entries apacheds and the > same problem happened. So someone can tell me how to config the mavibot > partition on APACHEDS? That's may be very helpful. > Below is the exceptions from apacheds when problems happened: > [16:21:41] INFO [org.apache.directory.server.ldap.LdapServer] - Ldap service > stopped. > [16:21:41] WARN > [org.apache.directory.server.core.shared.partition.DefaultPartitionNexus] - > Failed to flush partition data out. > org.apache.directory.api.ldap.model.exception.LdapOperationErrorException > at > org.apache.directory.server.core.partition.impl.btree.AbstractBTreePartition.saveContextCsn(AbstractBTreePartition.java:3364) > at > org.apache.directory.server.core.shared.partition.DefaultPartitionNexus.sync(DefaultPartitionNexus.java:319) > at > org.apache.directory.server.core.DefaultDirectoryService.shutdown(DefaultDirectoryService.java:1283) > at org.apache.directory.server.ApacheDsService.stop(ApacheDsService.java:600) > at > org.apache.directory.server.wrapper.ApacheDsTanukiWrapper.stop(ApacheDsTanukiWrapper.java:97) > at org.tanukisoftware.wrapper.WrapperManager$13.run(WrapperManager.java:3134) > Caused by: java.lang.NullPointerException > at > org.apache.directory.server.core.partition.impl.btree.AbstractBTreePartition.saveContextCsn(AbstractBTreePartition.java:3350) > ... 5 more > [16:21:41] ERROR [org.apache.directory.server.wrapper.ApacheDsTanukiWrapper] > - Failed to stop the service. > org.apache.directory.api.util.exception.MultiException: ERR_265 Grouping many > exceptions on root nexus sync() > at > org.apache.directory.server.core.shared.partition.DefaultPartitionNexus.sync(DefaultPartitionNexus.java:328) > at > org.apache.directory.server.core.DefaultDirectoryService.shutdown(DefaultDirectoryService.java:1283) > at org.apache.directory.server.ApacheDsService.stop(ApacheDsService.java:600) > at > org.apache.directory.server.wrapper.ApacheDsTanukiWrapper.stop(ApacheDsTanukiWrapper.java:97) > at org.tanukisoftware.wrapper.WrapperManager$13.run(WrapperManager.java:3134) > Nested exceptions to follow: > INFO | jvm 1 | 2015/02/02 17:11:06 | [17:11:06] WARN > [org.apache.directory.server.ldap.LdapProtocolHandler] - Unexpected exception > forcing session to close: sending disconnect notice to client. > INFO | jvm 1 | 2015/02/02 17:11:06 | java.io.IOException: Connection reset by > peer > INFO | jvm 1 | 2015/02/02 17:11:06 | at > sun.nio.ch.FileDispatcherImpl.read0(Native Method) > INFO | jvm 1 | 2015/02/02 17:11:06 | at > sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:39) > INFO | jvm 1 | 2015/02/02 17:11:06 | at > sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) > INFO | jvm 1 | 2015/02/02 17:11:06 | at > sun.nio.ch.IOUtil.read(IOUtil.java:197) > INFO | jvm 1 | 2015/02/02 17:11:06 | at > sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:379) > INFO | jvm 1 | 2015/02/02 17:11:06 | at > org.apache.mina.transport.socket.nio.NioProcessor.read(NioProcessor.java:311) > INFO | jvm 1 | 2015/02/02 17:11:06 | at > org.apache.mina.transport.socket.nio.NioProcessor.read(NioProcessor.java:45) > INFO | jvm 1 | 2015/02/02 17:11:06 | at > org.apache.mina.core.polling.AbstractPollingIoProcessor.read(AbstractPollingIoProcessor.java:694) > INFO | jvm 1 | 2015/02/02 17:11:06 | at > org.apache.mina.core.polling.AbstractPollingIoProcessor.process(AbstractPollingIoProcessor.java:668) > INFO | jvm 1 | 2015/02/02 17:11:06 | at > org.apache.mina.core.polling.AbstractPollingIoProcessor.process(AbstractPollingIoProcessor.java:657) > INFO | jvm 1 | 2015/02/02 17:11:06 | at > org.apache.mina.core.polling.AbstractPollingIoProcessor.access$600(AbstractPollingIoProcessor.java:67) > INFO | jvm 1 | 2015/02/02 17:11:06 | at > org.apache.mina.core.polling.AbstractPollingIoProcessor$Processor.run(AbstractPollingIoProcessor.java:1121) > INFO | jvm 1 | 2015/02/02 17:11:06 | at > org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:64) > INFO | jvm 1 | 2015/02/02 17:11:06 | at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) > INFO | jvm 1 | 2015/02/02 17:11:06 | at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) > INFO | jvm 1 | 2015/02/02 17:11:06 | at java.lang.Thread.run(Thread.java:745) -- This message was sent by Atlassian JIRA (v6.3.4#6332)