Opened 12 months ago
Closed 11 months ago
#35921 closed Cleanup/optimization (fixed)
migration_test_data_persistence fails when running with parallelism > 1 and Postgres
| Reported by: | Raphael Gaschignard | Owned by: | Jacob Walls |
|---|---|---|---|
| Component: | Testing framework | Version: | dev |
| Severity: | Normal | Keywords: | |
| Cc: | Raphael Gaschignard, Jacob Walls | Triage Stage: | Ready for checkin |
| Has patch: | yes | Needs documentation: | no |
| Needs tests: | no | Patch needs improvement: | no |
| Easy pickings: | no | UI/UX: | no |
Description (last modified by )
Steps to reproduce:
- Add the following file to
tests, astest_postgres.py
import os
from test_sqlite import * # NOQA
DATABASES = {
"default": {
"ENGINE": "django.db.backends.postgresql",
"USER": "user",
"NAME": "django",
"PASSWORD": "postgres",
"HOST": "localhost",
"PORT": 5432,
"OPTIONS": {
"server_side_binding": os.getenv("SERVER_SIDE_BINDING") == "1",
},
},
"other": {
"ENGINE": "django.db.backends.postgresql",
"USER": "user",
"NAME": "django2",
"PASSWORD": "postgres",
"HOST": "localhost",
"PORT": 5432,
},
}
- In
tests, run the following:
python runtests.py --settings=test_postgres -k migration_test_data_persistence --parallel=2
An error occurs (for me at least) of the variety:
psycopg.errors.FeatureNotSupported: cannot truncate a table referenced in a foreign key constraint DETAIL: Table "model_package_advertisement_publications" references "model_package_publication". HINT: Truncate table "model_package_advertisement_publications" at the same time, or use TRUNCATE ... CASCADE.
Running with --parallel=1 does not trigger this issue. The issue triggers for me in Postgres but not with SQLite
This issue was introduced with the fix for #35660 (in commit 060a22ee2dde7aa29a5a29120087c4864887325)
Change History (8)
comment:1 by , 12 months ago
| Description: | modified (diff) |
|---|
comment:2 by , 12 months ago
| Description: | modified (diff) |
|---|
comment:3 by , 12 months ago
| Description: | modified (diff) |
|---|
comment:4 by , 12 months ago
| Description: | modified (diff) |
|---|---|
| Summary: | migration_test_data_persistence fails when running with parallelism > 1 → migration_test_data_persistence fails when running with parallelism > 1 and Postgres |
comment:5 by , 12 months ago
| Cc: | added |
|---|
comment:6 by , 12 months ago
| Has patch: | set |
|---|---|
| Owner: | set to |
| Status: | new → assigned |
| Triage Stage: | Unreviewed → Accepted |
| Type: | Bug → Cleanup/optimization |
Nice catch, looks like I just need to add allow_cascade=True in the sqlflush call in the test setup. PR
comment:7 by , 11 months ago
| Triage Stage: | Accepted → Ready for checkin |
|---|
Note:
See TracTickets
for help on using tickets.
CC'ing Jacob since he worked on #35660.