Skip to content

Parallelize test_sql.py - Issue #60378 #61551

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

Open
wants to merge 20 commits into
base: main
Choose a base branch
from

Conversation

dShcherbakov1
Copy link

@dShcherbakov1 dShcherbakov1 commented Jun 4, 2025

- [x] Parallelizes test_sql.py via per-worker_DBs (approach superseded due to complexity)

Copy link
Member

@mroeschke mroeschke left a comment

Choose a reason for hiding this comment

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

Thanks for the PR but this solution is too heavy handed.

As mentioned in the issue, the tests need to be refactored in a way to have unique table names

@dShcherbakov1
Copy link
Author

Thanks for the feedback @mroeschke!

Having now run this through CI, I agree! I come from a production-oriented environment, so I initially underestimated the architecture/OS complexity.

I looked into per-table UUIDs as per @UmbertoFasci's PR, and was concerned it might impact future test writing, and it still had some parallelization issues. I thought that using a different approach could solve these problems, but I see the value of this approach.

I will revise this to use UUIDs on a per-test basis (building off of @UmbertoFasci's work).

@dShcherbakov1
Copy link
Author

dShcherbakov1 commented Jun 21, 2025

I'm not ready for review yet.

I added the connect_and_uuid fixture, this was the most parsimonious way I found to manage the sqlalchemy connection objects, as well as sharing the same UUIDs between tests (which create views and tables) and fixtures (which tear down views and tables). Working to extend this fixture to the rest of the tests.

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.

TST: Make test_sql.py parallelizable
3 participants