mirror of https://github.com/OpenIdentityPlatform/OpenDJ.git

Jean-Noel Rouvignac
11.37.2015 a465378dd21226dd26665300c5aadb1eedef5caa
refs
author Jean-Noel Rouvignac <jean-noel.rouvignac@forgerock.com>
Wednesday, March 11, 2015 14:37 +0100
committer Jean-Noel Rouvignac <jean-noel.rouvignac@forgerock.com>
Wednesday, March 11, 2015 14:37 +0100
commita465378dd21226dd26665300c5aadb1eedef5caa
tree 6a7bb97f0ceee1571175bfcc59d73b1da16a174b tree | zip | gz
parent 34178bf3bd845eb943c247eb4c8f657284ccbf7a view | diff
OPENDJ-1708 Persistit: no rebuild-index support

Fixed several problems linked to wrong data encoding / decoding.
This includes an issue where JEB code was conceptually incorrect, but worked in practice.

However, rebuild-index still does not work: data seem to be written and committed to the DB successfully, but when reading back, it looks like this data was not persisted at all.
More analysis is required before closing this issue.



pluggable.EntryIDSet.java:
In toString(), rewrote the implementation to make it easier to read.

pluggable.ImportIDSet.java:
ImplemenOverrode toString(), like EntryIDSet.toString().
Renamed limit and doCount fields to indexEntryLimit and maintainCount.
Removed unused ctor.
In addEntryID() and add() renamed parameter from "i" to "entryId".

pluggable.Importer.java:
Removed useless IndexDBWriteTask.indexMap field.
In addToDB() and addDN2ID(), changed parameter's order.
In insertOrDeleteKey() and insertOrDeleteKeyCheckEntryLimit(), changed parameter named "i" to "position".
In writeByteStreams(), used INT_SIZE constant + called DataOutputStream.writeInt() instead of DataOutputStream.write() which only writes a byte.
Various code cleanups.


pluggable.IndexInputBuffer.java:
Removed now incorrect use of JE's PackedInteger.

pluggable.IndexOutputBuffer.java:
Removed now incorrect use of JE's PackedInteger.
Renamed writeIntBytes() and getIntegerValue() to writeInt() and readInt() to match JE's PackedInteger method.
Renamed writeID(), compare() and compare() to writeEntryID(), byteArraysEqual() and recordsEqual().
In various method, fixed int / long mix up coming from copying JEB's code.
Added writeLong().
Various code cleanups.



jeb.ImportIDSet.java:
Removed unused ctor.
In addEntryID() and add() renamed parameter from "i" to "entryId".

jeb.IndexOutputBuffer.java:
In all methods getReadLongLength() should have been used instead of getReadIntLength() because this is encoding an entryID (long). Despite being conceptually broken, but it was working in pactice because getReadLongLength() delegates to getReadIntLength().
Renamed writeID() to writeEntryID().

jeb.Importer.java:
Removed useless IndexDBWriteTask.indexMap field.
In addToDB() and addDN2ID(), changed parameter's order.
In insertOrDeleteKey() and insertOrDeleteKeyCheckEntryLimit(), changed parameter named "i" to "position".
8 files modified
492 ■■■■ changed files
opendj-server-legacy/src/main/java/org/opends/server/backends/jeb/ImportIDSet.java 25 ●●●●● diff | view | raw | blame | history
opendj-server-legacy/src/main/java/org/opends/server/backends/jeb/Importer.java 45 ●●●●● diff | view | raw | blame | history
opendj-server-legacy/src/main/java/org/opends/server/backends/jeb/IndexOutputBuffer.java 20 ●●●● diff | view | raw | blame | history
opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/EntryIDSet.java 36 ●●●●● diff | view | raw | blame | history
opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/ImportIDSet.java 89 ●●●●● diff | view | raw | blame | history
opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/Importer.java 64 ●●●● diff | view | raw | blame | history
opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/IndexInputBuffer.java 35 ●●●●● diff | view | raw | blame | history
opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/IndexOutputBuffer.java 178 ●●●● diff | view | raw | blame | history