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

Jean-Noel Rouvignac
13.06.2014 f9bc2351a98b71be3239da5dc001a903077ebf24
refs
author Jean-Noel Rouvignac <jean-noel.rouvignac@forgerock.com>
Friday, June 13, 2014 22:06 +0200
committer Jean-Noel Rouvignac <jean-noel.rouvignac@forgerock.com>
Friday, June 13, 2014 22:06 +0200
commitf9bc2351a98b71be3239da5dc001a903077ebf24
tree 303e5bfa7fae1483e17cb4a09f1a0d5088d065ed tree | zip | gz
parent 97f6e6c7038cebd9db567aa303fe43f23caff7ac view | diff
OPENDJ-1496 (CR-3767) ThreadInterruptedException (JE) when running replication tests

Issue: On resetting the generationId in RS2, the ServerReader thread is blocked waiting on the ChangeNumberIndexer thread that is waiting on new changes.
The fix consisted in ensuring the replicaDB cursors are released by the ChangeNumberIndexer thread when a replicaDB is being cleared.


ChangeNumberIndexer.java:
Changed AtomicBoolean doClear field into ConcurrentSkipListSet<DN> domainsToClear.
Changed removeAllCursors() to removeCursors(DN baseDN).
In clear(), added a DN parameter.

JEChangelogDB.java, FileChangelogDB.java:
Called ChangeNumberIndexer.clear() from removeDomain() rather than from clearDB().
3 files modified
95 ■■■■■ changed files
opendj-sdk/opends/src/server/org/opends/server/replication/server/changelog/file/FileChangelogDB.java 14 ●●●● diff | view | raw | blame | history
opendj-sdk/opends/src/server/org/opends/server/replication/server/changelog/je/ChangeNumberIndexer.java 70 ●●●●● diff | view | raw | blame | history
opendj-sdk/opends/src/server/org/opends/server/replication/server/changelog/je/JEChangelogDB.java 11 ●●●● diff | view | raw | blame | history