Opened 6 hours ago

Last modified 100 minutes ago

#35921 new Bug

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

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

Description (last modified by Raphael Gaschignard)

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 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.

This issue was introduced with the fix for #35660 (in commit 060a22ee2dde7aa29a5a29120087c4864887325)

Change History (3)

comment:1 by Raphael Gaschignard, 6 hours ago

Description: modified (diff)

comment:2 by Raphael Gaschignard, 6 hours ago

Description: modified (diff)

comment:3 by Raphael Gaschignard, 6 hours ago

Description: modified (diff)
Note: See TracTickets for help on using tickets.
Back to Top