-
Type: New Feature
-
Status: Resolved
-
Priority: Minor
-
Resolution: Won't Do
-
Affects Version/s: None
-
Fix Version/s: None
-
Component/s: Continuous Integration
In order to test the whole platform with MarkLogic as Repository, we want to run multidb jobs on MarkLogic
Comments copied from NXBT-1086:
Modifications were made in nuxeo-bench and tools-nuxeo-ftest to run nuxeo-reference-bench on a MarkLogic database.
There're several known issues to run unit tests on MarkLogic. First, details on how MarkLogic works.
A basic MarkLogic setup for Nuxeo is: two databases (one for content and one for modules) and one AppServer (XDBC). AppServer links the two databases and expose the service on a specific port. So we need one AppServer per Nuxeo instance using the database because modules come from connector repository as they could differ from one version of Nuxeo to another
This leads to:
- there's currently no way to have a "random" port like we get a random dbname in nuxeo-ftest
- as modules come from connector repository, initialize phase couldn't be in nuxeo-ecm parent pom as we need the built artifact of connector, a possible workaround will be to move it to nuxeo-core-test (commit here), but this doesn't work with multidb jobs because we ran something like this mvn clean initialize -N -Pcustomdb,pgsql and so ftest is not called with that
- during db clean phase, deleting an AppServer causes a restart of MarkLogic, which is an issue if several jobs use the ML instance