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

gbellato
17.46.2006 f312ec4a15ca08a406c045748e9d627fe1e31494
refs
author gbellato <gbellato@localhost>
Friday, November 17, 2006 14:46 +0100
committer gbellato <gbellato@localhost>
Friday, November 17, 2006 14:46 +0100
commitf312ec4a15ca08a406c045748e9d627fe1e31494
tree df05c640737e77571df4e8987a4f300545da6991 tree | zip | gz
parent d6ea0e16a3e4ef9eb27b411d1b98b53c540f9323 view | diff
The synchronization changelog monitoring information has a counter named
waiting-changes that publish the number of updates known by the changelog
server that have not yest been sent to each ldap server because they are too slow to replay them.

This is calculated from the list of changes in memory when this list is small
enough. However when this list becomes too large it is not possible to keep
all the changes in memory and the changes therefore goes to disk.
This monitoring information therefore becomes unavailable and currently returns MAXINT.

This is unfortunate because this is the time when it is the most important.

Unfortunately the Java edition of the berkeley DB does not provide a way to
know the record number of a given db entry and therefore we can't rely on the DB
to tell us how many changes stay in the db after the current change.

This fix therefore change the format of the ChangeNumber so that the ChangeNumber
now uses consecutive numbers for its seqnum part.

The number of missing changes can therefore be calculated by a simple substraction
of the current seqnum and the largest seqnum.
the drawback of this method is that it is only accurate if the majority of update
operations done on the masters are successfull because this method also count the failed
operations.

This fix also modify the ProtocolWindowTest in order to add tests of this waiting-changes
monitoring information.

This fix also makes the size of the memory queue of messages configurable.
2 files renamed
13 files modified
331 ■■■■■ changed files
opendj-sdk/opends/resource/config/synchronization.ldif 2 ●●● diff | view | raw | blame | history
opendj-sdk/opends/resource/schema/02-config.ldif 7 ●●●● diff | view | raw | blame | history
opendj-sdk/opends/src/server/org/opends/server/synchronization/changelog/Changelog.java 20 ●●●●● diff | view | raw | blame | history
opendj-sdk/opends/src/server/org/opends/server/synchronization/changelog/ServerHandler.java 65 ●●●● diff | view | raw | blame | history
opendj-sdk/opends/src/server/org/opends/server/synchronization/common/ChangeNumber.java 7 ●●●●● diff | view | raw | blame | history
opendj-sdk/opends/src/server/org/opends/server/synchronization/common/ChangeNumberGenerator.java 60 ●●●●● diff | view | raw | blame | history
opendj-sdk/opends/src/server/org/opends/server/synchronization/common/ServerState.java 11 ●●●●● diff | view | raw | blame | history
opendj-sdk/opends/src/server/org/opends/server/synchronization/plugin/SynchronizationDomain.java 13 ●●●●● diff | view | raw | blame | history
opendj-sdk/opends/src/server/org/opends/server/synchronization/protocol/AckMessage.java 18 ●●●●● diff | view | raw | blame | history
opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/synchronization/UpdateOperationTest.java 4 ●●●● diff | view | raw | blame | history
opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/synchronization/changelog/ChangeLogTestCase.java 2 ●●● diff | view | raw | blame | history
opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/synchronization/changelog/UpdateComparatorTest.java 2 ●●● diff | view | raw | blame | history
opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/synchronization/common/ChangeNumberTest.java 17 ●●●●● diff | view | raw | blame | history
opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/synchronization/plugin/ModifyConflictTest.java 57 ●●●●● diff | view | raw | blame | history
opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/synchronization/protocol/ProtocolWindowTest.java 46 ●●●● diff | view | raw | blame | history