Skip to content

MLE-12345 Going back to clearing the database #1807

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Jul 24, 2025
Merged

Conversation

rjrudin
Copy link
Contributor

@rjrudin rjrudin commented Jul 24, 2025

Deleting each URI fails for temporal URIs. Blah.

Deleting each URI fails for temporal URIs. Blah.
@Copilot Copilot AI review requested due to automatic review settings July 24, 2025 11:20
Copy link

@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR simplifies the database clearing logic by replacing a complex XQuery-based approach with the MarkLogic Java API's built-in delete functionality. The change addresses issues with deleting temporal URIs that were causing failures in the previous implementation.

  • Replaces custom XQuery document deletion with QueryManager.delete() API
  • Adds explicit wait time to handle potential forest availability issues on Jenkins
  • Imports QueryManager class to support the new approach

"return fn:count($uris)")
.evalAs(String.class);
LoggerFactory.getLogger(ConnectedRESTQA.class).info("Cleared database, deleting {} URIs", count);
try (DatabaseClient client = newDatabaseClientBuilder().withPort(port).build()) {
Copy link
Preview

Copilot AI Jul 24, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The authentication configuration (admin_user and admin_password) that was present in the original implementation has been removed. This may cause authentication failures if the database requires explicit credentials.

Copilot uses AI. Check for mistakes.

// Clearing the database occasionally causes a forest to not be available for a moment or two when the tests
// are running on Jenkins. This leads to intermittent failures. Waiting is not guaranteed to avoid the
// error but simply hopes to minimize the chance of an intermittent failure.
waitFor(2000);
Copy link
Preview

Copilot AI Jul 24, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The magic number 2000 should be extracted to a named constant to improve code readability and maintainability. Consider defining a constant like FOREST_AVAILABILITY_WAIT_MS.

Copilot uses AI. Check for mistakes.

@rjrudin rjrudin merged commit 5846bae into develop Jul 24, 2025
2 checks passed
@rjrudin rjrudin deleted the feature/test-fix branch July 24, 2025 13:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants