On Fri, Jun 26, 2015 at 9:19 AM, William Osmond <[email protected]> wrote:
> 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 > Looks like the master table got corrupted, at this point the only option is to restore from a backup. You can also try to export data using this tool (using -e option) but that can only retrieve a partial set in this case (the only solution to fix this issue is to replace JDBM with Mavibot, but it is not ready yet) > 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 >>> >>> >> >> > -- Kiran Ayyagari http://keydap.com
