That is unfortunate - the system had running for some time in this state before anyone noticed, and I'm afraid this is the backup copy.

If anyone else has other ideas I'd love to hear them!

Thanks,
Bill

On 6/25/2015 8:54 PM, Kiran Ayyagari wrote:
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




Reply via email to