Opened 4 days ago

Last modified 4 days ago

#35921 assigned Cleanup/optimization

migration_test_data_persistence fails when running with parallelism > 1 — at Initial Version

Reported by: Raphael Gaschignard Owned by:
Component: Testing framework Version: dev
Severity: Normal Keywords:
Cc: Raphael Gaschignard, Jacob Walls Triage Stage: Accepted
Has patch: yes Needs documentation: no
Needs tests: no Patch needs improvement: no
Easy pickings: no UI/UX: no

Description

Steps to reproduce:

  • Add the following file to tests, as test_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 should occur 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. I imagine that something is happening regarding the test sharding code, given that this test calls out to a command that might not be persisting the sharding logic.

Change History (0)

Note: See TracTickets for help on using tickets.
Back to Top