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

Reply via email to