Skip to content

Skip flaky test_log_metric_concurrent_logging_succeeds on Windows#19182

Merged
harupy merged 2 commits intomasterfrom
copilot/skip-flaky-test-on-windows
Dec 3, 2025
Merged

Skip flaky test_log_metric_concurrent_logging_succeeds on Windows#19182
harupy merged 2 commits intomasterfrom
copilot/skip-flaky-test-on-windows

Conversation

Copy link
Contributor

Copilot AI commented Dec 3, 2025

Related Issues/PRs

Related: https://github.com/mlflow/mlflow/actions/runs/19862282787/job/56926073936

What changes are proposed in this pull request?

The test test_log_metric_concurrent_logging_succeeds fails intermittently on Windows due to SQLite's database-level locking when multiple threads attempt concurrent writes:

sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) database is locked
[SQL: INSERT INTO metrics ("key", value, timestamp, step, is_nan, run_uuid) VALUES (?, ?, ?, ?, ?, ?)]

This PR skips the test on Windows using @pytest.mark.skipif(is_windows(), ...) since the test intentionally exercises concurrent write operations that trigger SQLite's inherent concurrency limitations on Windows.

@pytest.mark.skipif(
    is_windows(),
    reason="Flaky on Windows due to SQLite database locking issues with concurrent writes",
)
def test_log_metric_concurrent_logging_succeeds(store: SqlAlchemyStore):
    ...

How is this PR tested?

  • Existing unit/integration tests
  • New unit/integration tests
  • Manual tests

Does this PR require documentation update?

  • No. You can skip the rest of this section.
  • Yes. I've updated:
    • Examples
    • API references
    • Instructions

Release Notes

Is this a user-facing change?

  • No. You can skip the rest of this section.
  • Yes. Give a description of this change to be included in the release notes for MLflow users.

What component(s), interfaces, languages, and integrations does this PR affect?

Components

  • area/tracking: Tracking Service, tracking client APIs, autologging
  • area/models: MLmodel format, model serialization/deserialization, flavors
  • area/model-registry: Model Registry service, APIs, and the fluent client calls for Model Registry
  • area/scoring: MLflow Model server, model deployment tools, Spark UDFs
  • area/evaluation: MLflow model evaluation features, evaluation metrics, and evaluation workflows
  • area/gateway: MLflow AI Gateway client APIs, server, and third-party integrations
  • area/prompts: MLflow prompt engineering features, prompt templates, and prompt management
  • area/tracing: MLflow Tracing features, tracing APIs, and LLM tracing functionality
  • area/projects: MLproject format, project running backends
  • area/uiux: Front-end, user experience, plotting, JavaScript, JavaScript dev server
  • area/build: Build and test infrastructure for MLflow
  • area/docs: MLflow documentation pages

How should the PR be classified in the release notes? Choose one:

  • rn/none - No description will be included. The PR will be mentioned only by the PR number in the "Small Bugfixes and Documentation Updates" section
  • rn/breaking-change - The PR will be mentioned in the "Breaking Changes" section
  • rn/feature - A new user-facing feature worth mentioning in the release notes
  • rn/bug-fix - A user-facing bug fix worth mentioning in the release notes
  • rn/documentation - A user-facing documentation change worth mentioning in the release notes

Should this PR be included in the next patch release?

  • Yes (this PR will be cherry-picked and included in the next patch release)
  • No (this PR will be included in the next minor release)
Original prompt

Summarize https://github.com/mlflow/mlflow/actions/runs/19862282787/job/56926073936 using summarize_job_log_failures (make sure to include the link and summary in the PR description). tests/store/tracking/test_sqlalchemy_store.py::test_log_metric_concurrent_logging_succeeds is flaky on windows. Let's skip it on windows using @pytest.mark.skipif.


💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.

@harupy harupy marked this pull request as ready for review December 3, 2025 03:16
Add @pytest.mark.skipif decorator to skip the test on Windows platform
due to SQLite database locking issues with concurrent writes.

Co-authored-by: harupy <17039389+harupy@users.noreply.github.com>
Copilot AI changed the title [WIP] Skip flakey test for concurrent logging on Windows Skip flaky test_log_metric_concurrent_logging_succeeds on Windows Dec 3, 2025
Copilot AI requested a review from harupy December 3, 2025 03:26
@github-actions github-actions bot added area/build Build and test infrastructure for MLflow rn/none List under Small Changes in Changelogs. labels Dec 3, 2025
@harupy harupy enabled auto-merge December 3, 2025 03:29
@harupy harupy added this pull request to the merge queue Dec 3, 2025
@harupy harupy changed the title Skip flaky test_log_metric_concurrent_logging_succeeds on Windows Skip flaky test_log_metric_concurrent_logging_succeeds on Windows Dec 3, 2025
Merged via the queue into master with commit 3df2ad7 Dec 3, 2025
64 of 102 checks passed
@harupy harupy deleted the copilot/skip-flaky-test-on-windows branch December 3, 2025 04:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/build Build and test infrastructure for MLflow rn/none List under Small Changes in Changelogs.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants