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

Jean-Noel Rouvignac
03.58.2013 e6213080a8f2332df41d85c42e855a881b27a007
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
commite6213080a8f2332df41d85c42e855a881b27a007
tree 1b0293c04e4e32cd5f30999e8ef230a1253cf6ae tree | zip | gz
parent b54a338f5933502809578214db03147c02e48b11 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
opends/src/server/org/opends/server/replication/server/MessageHandler.java 8 ●●●● diff | view | raw | blame | history
opends/src/server/org/opends/server/replication/server/changelog/je/ReplicationDB.java 12 ●●●●● diff | view | raw | blame | history