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

Jean-Noel Rouvignac
16.21.2014 b40f02d21477bd0593809ef7e72797e8532072ca
refs
author Jean-Noel Rouvignac <jean-noel.rouvignac@forgerock.com>
Monday, June 16, 2014 15:21 +0200
committer Jean-Noel Rouvignac <jean-noel.rouvignac@forgerock.com>
Monday, June 16, 2014 15:21 +0200
commitb40f02d21477bd0593809ef7e72797e8532072ca
tree efaf3f48b0b368f20b65a2cf7d9a379d7bad49c9 tree | zip | gz
parent 3445ee99fe05335b8cf9bb615e6fd0f8cf8e51c6 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().
2 files modified
81 ■■■■■ changed files
opendj-sdk/opendj3-server-dev/src/server/org/opends/server/replication/server/changelog/je/ChangeNumberIndexer.java 70 ●●●●● diff | view | raw | blame | history
opendj-sdk/opendj3-server-dev/src/server/org/opends/server/replication/server/changelog/je/JEChangelogDB.java 11 ●●●● diff | view | raw | blame | history