Skip to content

Commit 168bfae

Browse files
committed
MLE-12345 Reworking how test plumbing clears a database
The "clear" that happens via DELETE v1/search causes intermittent failures on Jenkins.
1 parent 55c80fa commit 168bfae

File tree

1 file changed

+8
-2
lines changed
  • marklogic-client-api-functionaltests/src/test/java/com/marklogic/client/functionaltest

1 file changed

+8
-2
lines changed

marklogic-client-api-functionaltests/src/test/java/com/marklogic/client/functionaltest/ConnectedRESTQA.java

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
import com.marklogic.mgmt.resource.temporal.TemporalAxesManager;
3131
import com.marklogic.mgmt.resource.temporal.TemporalCollectionLSQTManager;
3232
import com.marklogic.mgmt.resource.temporal.TemporalCollectionManager;
33+
import org.slf4j.LoggerFactory;
3334

3435
import javax.net.ssl.*;
3536
import java.io.IOException;
@@ -317,8 +318,13 @@ public static void deleteDB(String dbName) {
317318

318319
public static void clearDB(int port) {
319320
try (DatabaseClient client = newDatabaseClientBuilder().withPort(port).build()) {
320-
QueryManager mgr = client.newQueryManager();
321-
mgr.delete(mgr.newDeleteDefinition());
321+
// Trying an eval instead of a "DELETE v1/search", which leads to intermittent errors on Jenkins involving
322+
// a "clear" operation on a forest failing.
323+
String count = client.newServerEval()
324+
.xquery("let $uris := for $uri in cts:uris((), (), cts:true-query()) let $_ := xdmp:document-delete($uri) return $uri " +
325+
"return fn:count($uris)")
326+
.evalAs(String.class);
327+
LoggerFactory.getLogger(ConnectedRESTQA.class).info("Cleared database, deleting {} URIs", count);
322328
}
323329
}
324330

0 commit comments

Comments
 (0)