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

Jean-Noel Rouvignac
26.01.2015 c5d246665c8d72aa524009a12af556f8fba76fe4
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
commitc5d246665c8d72aa524009a12af556f8fba76fe4
tree 8da0e89ae5011b5f10d05bee2ee6db308e91fda1 tree | zip | gz
parent a97019d7025eb60124bd5e748830aae47586aca8 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-server-legacy/src/main/java/org/opends/server/backends/pluggable/DN2ID.java 10 ●●●● diff | view | raw | blame | history
opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/DefaultIndex.java 46 ●●●●● diff | view | raw | blame | history
opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/ImportIDSet.java 18 ●●●●● diff | view | raw | blame | history
opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/OnDiskMergeStorageImporter.java 327 ●●●●● diff | view | raw | blame | history
opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/VLVIndex.java 7 ●●●● diff | view | raw | blame | history