linzhao created DIRSERVER-2046:
----------------------------------
Summary: Some data can be lost when using ldapadd command to
insert data
Key: DIRSERVER-2046
URL: https://issues.apache.org/jira/browse/DIRSERVER-2046
Project: Directory ApacheDS
Issue Type: Bug
Components: ldap
Affects Versions: 2.0.0-M19
Environment: cent OS 6.5 with openldap installed
Reporter: linzhao
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?
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)