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

Ludovic Poitou
30.20.2011 bfef6b181cc5271d8f706c576f2bcd29d3345bf9
refs
author Ludovic Poitou <ludovic.poitou@forgerock.com>
Monday, May 30, 2011 17:20 +0200
committer Ludovic Poitou <ludovic.poitou@forgerock.com>
Monday, May 30, 2011 17:20 +0200
commitbfef6b181cc5271d8f706c576f2bcd29d3345bf9
tree e07b1395c7bff7ef5f2b20741fdfbfcc45696e43 tree | zip | gz
parent 6a018807d119b6b93280553493b26ddf8e61ff34 view | diff
Resolve several issues with the External Changelog with regards to Cookies and changes with updates and purging.
More specifically these changes are resolving the following issues :
OPENDJ-57 - ECL: lastChangeNumber and firstChangeNumber reset to zero when the changelog is purged to empty
OPENDJ-172 - External ChangeLog Cookie varies when searching with an empty cookie. Cookie should be reproducible.
OPENDJ-173 - External ChangeLog cookies content is altered by Change purging and prevents from continuing search with a previous returned cookie.

The changes are multiples and interdependant, hence a single commit.
But :
- The DraftCNDB is now purged but always keep the last record. The firstKey value is updated accordingly.
- The ReplicationDB is purged but always keep the last record before the trimdate.
- If no cookie is specified, the initial cookie is computed from the ReplicationDomain StartState, but keeping only change numbers older than the trimdate.
- Fix a possible issue when searching a ChangeNumber, and a Count record is found, the changeNumber value was not correct.

These changes mostly revert revision 6406 which meant to fix the same issue (cookies would become obsolete and a search using them returns an Unwilling To Perform), but only managed to hide the root cause of the issue.
8 files modified
226 ■■■■ changed files
opendj-sdk/opends/src/server/org/opends/server/replication/common/ServerState.java 27 ●●●●● diff | view | raw | blame | history
opendj-sdk/opends/src/server/org/opends/server/replication/server/DbHandler.java 7 ●●●●● diff | view | raw | blame | history
opendj-sdk/opends/src/server/org/opends/server/replication/server/DraftCNDB.java 28 ●●●●● diff | view | raw | blame | history
opendj-sdk/opends/src/server/org/opends/server/replication/server/DraftCNDbHandler.java 8 ●●●● diff | view | raw | blame | history
opendj-sdk/opends/src/server/org/opends/server/replication/server/ECLServerHandler.java 21 ●●●●● diff | view | raw | blame | history
opendj-sdk/opends/src/server/org/opends/server/replication/server/ReplicationDB.java 110 ●●●●● diff | view | raw | blame | history
opendj-sdk/opends/src/server/org/opends/server/replication/server/ReplicationServer.java 2 ●●● diff | view | raw | blame | history
opendj-sdk/opends/src/server/org/opends/server/replication/server/ReplicationServerDomain.java 23 ●●●●● diff | view | raw | blame | history