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

Jean-Noel Rouvignac
03.58.2013 f8c67141ebcaf0f4a5babdbe78f339c768742484
refs
author Jean-Noel Rouvignac <jean-noel.rouvignac@forgerock.com>
Tuesday, December 3, 2013 11:58 +0100
committer Jean-Noel Rouvignac <jean-noel.rouvignac@forgerock.com>
Tuesday, December 3, 2013 11:58 +0100
commitf8c67141ebcaf0f4a5babdbe78f339c768742484
tree 279418da37a84f23f593520e3329804904dc248f tree | zip | gz
parent bb3f45ac74b18f841d7da83c8a8a4d3dcdafdafe view | diff
OPENDJ-1217 Servers not synchronized after a conflicting replace on multi-valued attribute on 2 different servers


Fixed regression introduced in r9788 by introducing a similar behaviour as what the code was doing before.

Replica 1 was trying to read a change done on itself and send it to replica 2, but failed to do so.
Hence replica 2 did not receive this UpdateMsg and as a consequence could not resolve it.

Previous code was trying to cursor to a specific CSN in the DB. It could not find it, hence tried to move after it in the DB, but could not do it because the end of the DB was reached. Previous was throwing an exception there, later catching it and then returning an empty cursor.
Newer code removed the useless catch block which let the exception fail this process.
The fix removed throwing the exception and instead returned an empty cursor.



ReplicationDB.java:
In ctor, do not throw an exception, but return an empty cursor instead (Previous code was throwing an exception, catching and ignoring it, then returning an empty cursor).

MessageHandler.java:
Prevented a NullPointerException from being thrown, then caught and ignored.
2 files modified
20 ■■■■■ changed files
opendj-sdk/opends/src/server/org/opends/server/replication/server/MessageHandler.java 8 ●●●● diff | view | raw | blame | history
opendj-sdk/opends/src/server/org/opends/server/replication/server/changelog/je/ReplicationDB.java 12 ●●●●● diff | view | raw | blame | history