OPENDJ-1388 – Implement simple changelog db based on single log file
* Add new package org.opends.server.replication.server.changelog.file
containing the log file implementation
* The new package contains the following classes :
** Classes implementing the log - independant from changelog and built from scratch
- LogFile : implementation of log based on a single file
- LogWriter : writer for the log
- LogReaderPool : pool of readers for the log
- Record : a (key, value) log record
- RecordParser : interface for the convertion from record to bytes and bytes to record
- DecodingException : exception thrown when record decoding fails
** Classes implementing the changelog API, based on the log implementation.
- FileChangelogDB
- FileChangeNumberIndexDB
- FileChangeNumberIndexDBCursor
- FileReplicaDB
- FileReplicaDBCursor
- ReplicationEnvironment
* Add unit tests for org.opends.server.replication.server.changelog.file package
* Add new attribute 'ds-cfg-replication-db-implementation' in
ds-cfg-replication-server (ServerReplicationConfig class), allowing
to choose the db implementation to use for changelog in directory server:
either je or log file. Default is 'je'.
* Add new option 'org.opends.test.replicationDbImpl' for test target in build.xml
to choose the db implementation to for changelog when running the tests.
Default is 'log' (log file).
* Update all replication unit tests to allow the selection of changelog db implementation
to use in tests.
* Fix the ReferentialIntegerityPluginTestCase to do better cleanup at end of test in
order to avoid side-effect on other tests.