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

Jean-Noel Rouvignac
05.32.2013 d2ec418d6010332f55828d53c613a3c3e9d03d9e
refs
author Jean-Noel Rouvignac <jean-noel.rouvignac@forgerock.com>
Thursday, September 5, 2013 11:32 +0200
committer Jean-Noel Rouvignac <jean-noel.rouvignac@forgerock.com>
Thursday, September 5, 2013 11:32 +0200
commitd2ec418d6010332f55828d53c613a3c3e9d03d9e
tree 7afb4f725beca6010aa187f28f3b6f791cc74d12 tree | zip | gz
parent 7c6579ab133085502e0c5ee32b635669587aedf0 view | diff
OPENDJ-1116 Introduce abstraction for the changelog DB


Fixed a few bugs (introduced in the previous commits?):
- All code must check that the result of calling ChangeNumberIndexDB.getFirstCNIndexData() and ChangeNumberIndexDB.getLastCNIndexData() are not null (if the DB is empty, or closed, etc.).
- In ReplicationServer.clearGenerationId(), the code could have a side effect if the last entry in the DB was cleared by this method: the lastGeneratedChangeNumber would be allowed to go back!


ChangeNumberIndexDB.java:
Removed getLastChangeNumber().

DraftCNDbHandler.java:
Inlined getLastChangeNumber() to the only remaining method caller ReplicationServer.getChangeNumberIndexDB().
Finally changed the implementation of isEmpty() to something less costly.

DraftCNDbHandlerTest.java:
Inlined getFirstChangeNumber() and getLastChangeNumber().


ReplicationServer.java:
In clearGenerationId(), removed the code changing the value of lastGeneratedChangeNumber: lastGeneratedChangeNumber is not allowed to go backward.
In getChangeNumberIndexDB(), inlined here the code of DraftCNDbHandler.getLastChangeNumber() + removed useless use of MessageBuilder.
In getECLChangeNumberLimits(), added a null check for the result of getLastCNIndexData().

replication.properties:
Added a new error message.
Changed MILD_ERR_DRAFT_CHANGENUMBER_DATABASE_173 to MILD_ERR_CHANGENUMBER_DATABASE_173.


ECLServerHandler.java:
In findCookie(), replaced the DB empty checks by null checks on the return of getFirstCNIndexData() and getLastCNIndexData() since this is purely equivalent.
6 files modified
126 ■■■■■ changed files
opends/src/messages/messages/replication.properties 8 ●●●● diff | view | raw | blame | history
opends/src/server/org/opends/server/replication/server/ECLServerHandler.java 13 ●●●●● diff | view | raw | blame | history
opends/src/server/org/opends/server/replication/server/ReplicationServer.java 31 ●●●● diff | view | raw | blame | history
opends/src/server/org/opends/server/replication/server/changelog/api/ChangeNumberIndexDB.java 9 ●●●●● diff | view | raw | blame | history
opends/src/server/org/opends/server/replication/server/changelog/je/DraftCNDbHandler.java 33 ●●●●● diff | view | raw | blame | history
opends/tests/unit-tests-testng/src/server/org/opends/server/replication/server/changelog/je/DraftCNDbHandlerTest.java 32 ●●●●● diff | view | raw | blame | history