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