Nuxeo Replication was initially coded and released against 9.10:
The goal is to align this addon on recent versions of the platform.
There are different aspects and scope of alignment.
The nuxeo-replication code needs to be aligned both on 10.10 and on master.
We have done several improvements inside nuxeo-stream, for example in terms of error handling and retry policy: it would make sense to leverage this in the context of the replication addon.
The replication initially contains 3 aspects: Repository Documents, Elasticsearch and Blob.
The Blob part should probably never have been done so we should remove this code.
nuxeo-replication was built as a pure addon and as is it relies only on existing interfaces and pluggability points:
- listen directly to changes at the MongoDB level
- intercepts (wraps) ES client calls to gather commands
We will need to do the same for 10.10, however, on master, we may want to go futher:
- have an explicit API to listen or replay repository changeset
- rely on native nuxeo-stream support for indexing rather than intercepting calls
Here again, we can isolate different scopes.
nuxeo-replication addons needs to be built and tested by maintained pipeline.
The end-to-end testing that was done on OCP against 9.10 should ideally be done on K8S with a fully automated pipeline.
Part of the end-to-end testing involves killing Nuxeo nodes and verify that the Nuxeo Cluster still works.
These tests could be interesting for nuxeo platform even outside of the nuxeo-replication scope.