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

Jean-Noel Rouvignac
05.59.2014 8d252086b7ada2322220ae916140243db9dda1a6
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
commit8d252086b7ada2322220ae916140243db9dda1a6
tree d2ef021539db40da5bfff13b3ddda57e80aeccbe tree | zip | gz
parent cbbabbf682357e6a0365c006ec7771d693fcd9cd 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
opendj-sdk/opendj3-server-dev/src/server/org/opends/server/replication/server/changelog/file/FileChangelogDB.java 79 ●●●● diff | view | raw | blame | history
opendj-sdk/opendj3-server-dev/src/server/org/opends/server/replication/server/changelog/je/JEChangelogDB.java 79 ●●●● diff | view | raw | blame | history