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

Jean-Noel Rouvignac
26.01.2015 afb4adee2ddefc46f7e8784a1cee85c683c5eeca
refs
author Jean-Noel Rouvignac <jean-noel.rouvignac@forgerock.com>
Tuesday, May 26, 2015 15:01 +0200
committer Jean-Noel Rouvignac <jean-noel.rouvignac@forgerock.com>
Tuesday, May 26, 2015 15:01 +0200
commitafb4adee2ddefc46f7e8784a1cee85c683c5eeca
tree ad00198f2c27138c3dea9fb7d0729a7af2fc3e0b tree | zip | gz
parent 502d654b4ca0a00c27e604d43757990cf29d0c8b view | diff
OPENDJ-2016 Implement new on disk merge import strategy based on storage engine


The key/value pairs inserted into trees are now rigorously identical to what the indexes are inserting.
Values are merged before final call to Storage.put(). A possible optimization is to start merging values during the first phase.



OnDiskMergeStorageImporter.java:
Added MergingCursor, Consumer, MergingConsumer, NoMultipleValuesConsumer, ImportIDSetsMerger.
In copyTo(), implemented the merge phase.


DefaultIndex.java:
Extracted decodeValue() and toValue() methods.

DN2ID.java:
Extracted toValue().

ImportIDSet.java:
Extracted merge(EntryIDSet) from merge(ImportIDSet).

VLVIndex.java:
Extracted toValue() method.
5 files modified
408 ■■■■■ changed files
opendj-sdk/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/DN2ID.java 10 ●●●● diff | view | raw | blame | history
opendj-sdk/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/DefaultIndex.java 46 ●●●●● diff | view | raw | blame | history
opendj-sdk/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/ImportIDSet.java 18 ●●●●● diff | view | raw | blame | history
opendj-sdk/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/OnDiskMergeStorageImporter.java 327 ●●●●● diff | view | raw | blame | history
opendj-sdk/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/VLVIndex.java 7 ●●●● diff | view | raw | blame | history