Hi Kiran,
Thank you for creating this tool and the information you've provided,
however I'm having a little bit of trouble with it. I'm running this on
Windows so that may have something to do with it.
When I run the tool against the partition without performing the
optional step of deleting everything except master.db|lg, I get the
following. Apologies in advance if the formatting does not come across
properly:
c:\ldap>java -jar partition-plumber\target\partition-plumber.jar -d
"C:\ldap\.ApacheDirectoryStudio\.metadata\.plugins\org.apache.directory.studio.ldapservers\servers\bbe7f1dc-a2c1-49b8-9bc2-6ccc7f9448ae"
-p o=bnb
_ _ ____ ____
/ \ _ __ ___ ___| |__ ___| _ \/ ___|
/ _ \ | '_ \ / _` |/ __| '_ \ / _ \ | | \___ \
/ ___ \| |_) | (_| | (__| | | | __/ |_| |___) |
/_/ \_\ .__/ \__,_|\___|_| |_|\___|____/|____/
|_|
Stored entry count 737
Inspecting data files...
Clearing RDN index
Re-building indices...
Read entry cn=XXXXX with ID 004df837-18c5-4874-8ee8-70c3
310811dc and parent ID 95da6a7f-77dc-463e-b13e-175a5c021df2
... (32 entries removed for brevity -Bill)
Read entry cn=XXXXX with ID 0c4b3236-355f-49e4-bd49-0ed7ac530c98 and
parent ID 95da6a7f-77dc-463e-b13e-175a5c021df2
Exiting after fetching entries 34
Failed to inspect and recover the partition o=bnb
org.apache.directory.api.ldap.model.cursor.CursorException:
java.io.EOFException
at
org.apache.directory.server.core.partition.impl.btree.jdbm.NoDupsCursor.next(NoDupsCursor.java:311)
at
org.apache.directory.PartitionPlumber.inspect(PartitionPlumber.java:152)
at
org.apache.directory.PartitionPlumber.main(PartitionPlumber.java:374)
Caused by: java.io.EOFException
at java.io.DataInputStream.readUnsignedShort(Unknown Source)
at
java.io.ObjectInputStream$BlockDataInputStream.readUnsignedShort(Unknown
Source)
at
java.io.ObjectInputStream$BlockDataInputStream.readUTF(Unknown Source)
at java.io.ObjectInputStream.readUTF(Unknown Source)
at
org.apache.directory.server.core.partition.impl.btree.jdbm.EntrySerializer.deserialize(EntrySerializer.java:209)
at jdbm.btree.BPage.deserialize(BPage.java:1188)
at jdbm.btree.BPage.deserialize(BPage.java:81)
at jdbm.recman.BaseRecordManager.fetch(BaseRecordManager.java:329)
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:291)
... 2 more
If I instead re-run the tool after deleting all the non-master files,
this is what I get:
c:\ldap>java -jar partition-plumber\target\partition-plumber.jar -d
"C:\ldap\.ApacheDirectoryStudio\.metadata\.plugins\org.apache.directory.studio.ldapservers\servers\bbe7f1dc-a2c1-49b8-9bc2-6ccc7f9448ae"
-p o=bnb
Failed to start the tool using the given the instance location
C:\ldap\.ApacheDirectoryStudio\.metadata\.plugins\org.apache.directory.studio.ldapservers\servers\bbe7f1dc-a2c1-49b8-9bc2-6ccc7f9448ae
org.apache.directory.api.ldap.model.exception.LdapOtherException:
java.io.EOFException
at
org.apache.directory.server.core.api.partition.AbstractPartition.initialize(AbstractPartition.java:94)
at
org.apache.directory.server.core.DefaultDirectoryService.initialize(DefaultDirectoryService.java:1807)
at
org.apache.directory.server.core.DefaultDirectoryService.startup(DefaultDirectoryService.java:1244)
at
org.apache.directory.server.ApacheDsService.initDirectoryService(ApacheDsService.java:323)
at
org.apache.directory.server.ApacheDsService.start(ApacheDsService.java:182)
at
org.apache.directory.PartitionPlumber.start(PartitionPlumber.java:71)
at
org.apache.directory.PartitionPlumber.main(PartitionPlumber.java:363)
Caused by:
org.apache.directory.api.ldap.model.exception.LdapOtherException:
java.io.EOFException
at
org.apache.directory.server.core.api.partition.AbstractPartition.initialize(AbstractPartition.java:94)
at
org.apache.directory.server.core.shared.partition.DefaultPartitionNexus.addContextPartition(DefaultPartitionNexus.java:800)
at
org.apache.directory.server.core.shared.partition.DefaultPartitionNexus.doInit(DefaultPartitionNexus.java:224)
at
org.apache.directory.server.core.api.partition.AbstractPartition.initialize(AbstractPartition.java:89)
... 6 more
Caused by: org.apache.directory.api.ldap.model.cursor.CursorException:
java.io.EOFException
at
org.apache.directory.server.core.partition.impl.btree.jdbm.NoDupsCursor.next(NoDupsCursor.java:311)
at
org.apache.directory.server.core.partition.impl.btree.jdbm.JdbmPartition.buildUserIndex(JdbmPartition.java:351)
at
org.apache.directory.server.core.partition.impl.btree.jdbm.JdbmPartition.doInit(JdbmPartition.java:218)
at
org.apache.directory.server.core.api.partition.AbstractPartition.initialize(AbstractPartition.java:89)
... 9 more
Caused by: java.io.EOFException
at java.io.DataInputStream.readUnsignedShort(Unknown Source)
at
java.io.ObjectInputStream$BlockDataInputStream.readUnsignedShort(Unknown
Source)
at
java.io.ObjectInputStream$BlockDataInputStream.readUTF(Unknown Source)
at java.io.ObjectInputStream.readUTF(Unknown Source)
at
org.apache.directory.server.core.partition.impl.btree.jdbm.EntrySerializer.deserialize(EntrySerializer.java:209)
at jdbm.btree.BPage.deserialize(BPage.java:1188)
at jdbm.btree.BPage.deserialize(BPage.java:81)
at jdbm.recman.BaseRecordManager.fetch(BaseRecordManager.java:329)
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:291)
... 12 more
Thank you,
Bill
On 6/25/2015 5:46 PM, Kiran Ayyagari wrote:
On Fri, Jun 26, 2015 at 8:26 AM, William Osmond <[email protected]>
wrote:
Hello all,
I've been running Apache DS version 2.0.0.v20130628 successfully for some
years now, however I've hit a snag. The application is only showing 10 of
~750 entries that used to be present under a particular DN. If I view the
master.db in a text editor I can see that the entries are still there,
however they're not displayed in the LDAP Browser. Any help would be
greatly appreciated!
most likely the RDN index was corrupted, please refer to this mail
http://markmail.org/thread/jtpmbsivolpyb5sc#query:+page:1+mid:huaqvbqi7djc4swb+state:results
and follow the steps mentioned in it, you should be able to see all the
data afterwards
-Bill