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

Jean-Noel Rouvignac
08.52.2013 d454b5f9a2b7dc4ef2a70cd983a26436568cbe04
refs
author Jean-Noel Rouvignac <jean-noel.rouvignac@forgerock.com>
Tuesday, October 8, 2013 15:52 +0200
committer Jean-Noel Rouvignac <jean-noel.rouvignac@forgerock.com>
Tuesday, October 8, 2013 15:52 +0200
commitd454b5f9a2b7dc4ef2a70cd983a26436568cbe04
tree 2acd77a5bfed9c5a01c6bf292ae8a5e34bc4393b tree | zip | gz
parent 787d6791f0966ebe0f93b72f2bb8293ad0add5d9 view | diff
OPENDJ-1116 Introduce abstraction for the changelog DB


Leveraged the ReplicaDBCursor interface to hide iterations cross replica DBs from client code.
Net benefit: more coherent code + reduced coupling between changelogDB and ECL code.
There is an added benefit: searching on cn=changelog now returns changes in order.

The change was implemented by moving code from MessageHandler to JEChangelogDB.


MessageHandler.java:
Removed nextOldestUpdateMsg(), addCursorIfNotEmpty() and collectAllCursorsWithChanges().
Extracted method isLateQueueBelowThreshold().

ReplicationServerDomain.java
Removed getServerIds() and getCursorFrom(int, CSN)
Added getCursorFrom(CSN) and getCursorFrom(ServerState).

ReplicationDomainDB.java:
Removed getDomainServerIds() and getCursorFrom(DN, int, CSN)
Added getCursorFrom(DN, CSN) and getCursorFrom(DN, ServerState).

JEChangelogDB.java
Added inenr class CrossReplicaDBCursor + moved getCursorFrom(DN, int, CSN) here from enclosing type.
Removed getDomainServerIds().
Added getCursorFrom(DN, CSN) and getCursorFrom(DN, ServerState).

ReplicationBackend.java:
In writeChangesAfterCSN(), removed loop on the serverIds + renamed "rsd" to "rsDomain".

JEReplicaDB.java, JEReplicaDBCursor.java:
Implemented toString().
7 files modified
407 ■■■■■ changed files
opendj-sdk/opends/src/server/org/opends/server/replication/server/MessageHandler.java 76 ●●●● diff | view | raw | blame | history
opendj-sdk/opends/src/server/org/opends/server/replication/server/ReplicationBackend.java 59 ●●●● diff | view | raw | blame | history
opendj-sdk/opends/src/server/org/opends/server/replication/server/ReplicationServerDomain.java 45 ●●●●● diff | view | raw | blame | history
opendj-sdk/opends/src/server/org/opends/server/replication/server/changelog/api/ReplicationDomainDB.java 47 ●●●●● diff | view | raw | blame | history
opendj-sdk/opends/src/server/org/opends/server/replication/server/changelog/je/JEChangelogDB.java 169 ●●●● diff | view | raw | blame | history
opendj-sdk/opends/src/server/org/opends/server/replication/server/changelog/je/JEReplicaDB.java 3 ●●●● diff | view | raw | blame | history
opendj-sdk/opends/src/server/org/opends/server/replication/server/changelog/je/JEReplicaDBCursor.java 8 ●●●●● diff | view | raw | blame | history