On masters and hubs the multimaster replication plugin maintains a changelog database containing the changes to be replayed to other servers. Historically this was a separate databse environment, but with the need to write the changelog in the same transaction as the change operation it was changed to use the main database environment.
But it still maintains the changelog for all backends in a single directory and manages th file names to open and close the changelog database files. This has an overhead in many respects, but it also prevents the move to a replacable backend database library, eg LMDB does not allow the use of dedicated database files.
Therefor, as a first step, the changlog database files should be fully integrated to the backend database.
Design document (in progress): http://www.port389.org/docs/389ds/design/integrate-changelog-database-and-backend-database.html
I will upload my current patches, which are incomplete, but allow to assess what direction it goes. With the three patches normal replication, upgrade and ldif export should work.
What is missing is a cleanup of locking and managing cl access for state changes.
Metadata Update from @lkrispen:
- Custom field component adjusted to None
- Custom field origin adjusted to None
- Custom field reviewstatus adjusted to None
- Custom field type adjusted to None
- Custom field version adjusted to None
Metadata Update from @mreynolds:
- Issue set to the milestone: 1.4.0
Metadata Update from @mhonek:
- Issue assigned to mhonek
to comment on this ticket.