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

Jean-Noel Rouvignac
05.59.2014 ce28cf867009ee108e837cdd9de814fbcda77b8a
refs
author Jean-Noel Rouvignac <jean-noel.rouvignac@forgerock.com>
Wednesday, November 5, 2014 17:59 +0100
committer Jean-Noel Rouvignac <jean-noel.rouvignac@forgerock.com>
Wednesday, November 5, 2014 17:59 +0100
commitce28cf867009ee108e837cdd9de814fbcda77b8a
tree 14323c87f298b84c9ac553f9b171561d5f72642f tree | zip | gz
parent 947e952c52717610f323f6d4a60e0017f68621a1 view | diff
OPENDJ-1618 (CR-5155) External changelog not purged after the purge delay

The ChangelogDBPurger is smart: when changes exist in the DB, it sleeps until the oldest change can be purged.
The problem is that when admin changes the purge delay, the ChangelogDBPurger is not woken up to verify if the oldest change can be purged with the purge delay.
This fix wakes up the ChangelogDBPurger when the purge delay changes.


FileChangelogDB.java, JEChangelogDB.java:
In setPurgeDelay(), ensured an existing ChangelogDBPurger is woken up by a change to the purge delay.
Made purgeDelayInMillis volatile + In ChangelogDBPurger.run(), inlined jeFriendlySleep() to ensure the wait time is computed from the very latest purgeDelayInMillis.
2 files modified
158 ■■■■ changed files
opendj3-server-dev/src/server/org/opends/server/replication/server/changelog/file/FileChangelogDB.java 79 ●●●● diff | view | raw | blame | history
opendj3-server-dev/src/server/org/opends/server/replication/server/changelog/je/JEChangelogDB.java 79 ●●●● diff | view | raw | blame | history