When running LDAP synchronization, the main sync task (authentik.sources.ldap.tasks.ldap_sync) fails with a database error related to a missing tenant_id. This appears to occur during task creation or scheduling of sub-tasks (e.g., authentik.sources.ldap.tasks.ldap_sync_page)
LDAP sync tasks should be created and executed successfully.
null value in column "tenant_id" of relation "authentik_tasks_task" violates not-null constraint DETAIL: Failing row contains (57cad683-70a2-4c99-a827-1cd2cc403600, default, authentik.sources.ldap.tasks.ldap_sync_page, \x8005959e010000000000007d94288c0a71756575655f6e616d65948c076465..., queued, 2026-04-29 04:44:22.665456+00, null, null, null, null, [], [], queued, null, null, null, 0).
Attributes
{
"exception": [
{
"frames": [
{
"name": "process_message",
"lineno": 487,
"filename": "/ak-root/.venv/lib/python3.14/site-packages/dramatiq/worker.py"
},
{
"name": "__call__",
"lineno": 185,
"filename": "/ak-root/.venv/lib/python3.14/site-packages/dramatiq/actor.py"
},
{
"name": "ldap_sync",
"lineno": 86,
"filename": "/authentik/sources/ldap/tasks.py"
},
{
"name": "run",
"lineno": 316,
"filename": "/ak-root/.venv/lib/python3.14/site-packages/dramatiq/composition.py"
},
{
"name": "wrapped_f",
"lineno": 338,
"filename": "/ak-root/.venv/lib/python3.14/site-packages/tenacity/__init__.py"
},
{
"name": "__call__",
"lineno": 477,
"filename": "/ak-root/.venv/lib/python3.14/site-packages/tenacity/__init__.py"
},
{
"name": "iter",
"lineno": 378,
"filename": "/ak-root/.venv/lib/python3.14/site-packages/tenacity/__init__.py"
},
{
"name": "exc_check",
"lineno": 420,
"filename": "/ak-root/.venv/lib/python3.14/site-packages/tenacity/__init__.py"
},
{
"name": "reraise",
"lineno": 187,
"filename": "/ak-root/.venv/lib/python3.14/site-packages/tenacity/__init__.py"
},
{
"name": "result",
"lineno": 443,
"filename": "/usr/local/lib/python3.14/concurrent/futures/_base.py"
},
{
"name": "__get_result",
"lineno": 395,
"filename": "/usr/local/lib/python3.14/concurrent/futures/_base.py"
},
{
"name": "__call__",
"lineno": 480,
"filename": "/ak-root/.venv/lib/python3.14/site-packages/tenacity/__init__.py"
},
{
"name": "wrapper",
"lineno": 65,
"filename": "/ak-root/packages/django-dramatiq-postgres/django_dramatiq_postgres/broker.py"
}
],
"exc_type": "ConnectionError",
"is_cause": false,
"is_group": false,
"exc_notes": [],
"exc_value": "null value in column \"tenant_id\" of relation \"authentik_tasks_task\" violates not-null constraint\nDETAIL: Failing row contains (e924ed1c-e1b1-44d0-b2a4-7061276e5c85, default, authentik.sources.ldap.tasks.ldap_sync_page, \\x8005959e010000000000007d94288c0a71756575655f6e616d65948c076465..., queued, 2026-04-29 02:31:24.951332+00, null, null, null, null, [], [], queued, null, null, null, 0).",
"exceptions": [],
"syntax_error": null
},
{
"frames": [
{
"name": "wrapper",
"lineno": 62,
"filename": "/ak-root/packages/django-dramatiq-postgres/django_dramatiq_postgres/broker.py"
},
{
"name": "enqueue",
"lineno": 176,
"filename": "/ak-root/packages/django-dramatiq-postgres/django_dramatiq_postgres/broker.py"
},
{
"name": "update_or_create",
"lineno": 990,
"filename": "/ak-root/.venv/lib/python3.14/site-packages/django/db/models/query.py"
},
{
"name": "get_or_create",
"lineno": 955,
"filename": "/ak-root/.venv/lib/python3.14/site-packages/django/db/models/query.py"
},
{
"name": "create",
"lineno": 665,
"filename": "/ak-root/.venv/lib/python3.14/site-packages/django/db/models/query.py"
},
{
"name": "save",
"lineno": 902,
"filename": "/ak-root/.venv/lib/python3.14/site-packages/django/db/models/base.py"
},
{
"name": "save_base",
"lineno": 1008,
"filename": "/ak-root/.venv/lib/python3.14/site-packages/django/db/models/base.py"
},
{
"name": "_save_table",
"lineno": 1169,
"filename": "/ak-root/.venv/lib/python3.14/site-packages/django/db/models/base.py"
},
{
"name": "_do_insert",
"lineno": 1210,
"filename": "/ak-root/.venv/lib/python3.14/site-packages/django/db/models/base.py"
},
{
"name": "manager_method",
"lineno": 87,
"filename": "/ak-root/.venv/lib/python3.14/site-packages/django/db/models/manager.py"
},
{
"name": "_insert",
"lineno": 1873,
"filename": "/ak-root/.venv/lib/python3.14/site-packages/django/db/models/query.py"
},
{
"name": "execute_sql",
"lineno": 1882,
"filename": "/ak-root/.venv/lib/python3.14/site-packages/django/db/models/sql/compiler.py"
},
{
"name": "execute",
"lineno": 79,
"filename": "/ak-root/.venv/lib/python3.14/site-packages/django/db/backends/utils.py"
},
{
"name": "_execute_with_wrappers",
"lineno": 92,
"filename": "/ak-root/.venv/lib/python3.14/site-packages/django/db/backends/utils.py"
},
{
"name": "_execute",
"lineno": 100,
"filename": "/ak-root/.venv/lib/python3.14/site-packages/django/db/backends/utils.py"
},
{
"name": "__exit__",
"lineno": 91,
"filename": "/ak-root/.venv/lib/python3.14/site-packages/django/db/utils.py"
},
{
"name": "_execute",
"lineno": 105,
"filename": "/ak-root/.venv/lib/python3.14/site-packages/django/db/backends/utils.py"
},
{
"name": "execute",
"lineno": 69,
"filename": "/ak-root/.venv/lib/python3.14/site-packages/django_prometheus/db/common.py"
},
{
"name": "execute",
"lineno": 117,
"filename": "/ak-root/.venv/lib/python3.14/site-packages/psycopg/cursor.py"
}
],
"exc_type": "IntegrityError",
"is_cause": true,
"is_group": false,
"exc_notes": [],
"exc_value": "null value in column \"tenant_id\" of relation \"authentik_tasks_task\" violates not-null constraint\nDETAIL: Failing row contains (e924ed1c-e1b1-44d0-b2a4-7061276e5c85, default, authentik.sources.ldap.tasks.ldap_sync_page, \\x8005959e010000000000007d94288c0a71756575655f6e616d65948c076465..., queued, 2026-04-29 02:31:24.951332+00, null, null, null, null, [], [], queued, null, null, null, 0).",
"exceptions": [],
"syntax_error": null
},
{
"frames": [
{
"name": "_execute",
"lineno": 105,
"filename": "/ak-root/.venv/lib/python3.14/site-packages/django/db/backends/utils.py"
},
{
"name": "execute",
"lineno": 69,
"filename": "/ak-root/.venv/lib/python3.14/site-packages/django_prometheus/db/common.py"
},
{
"name": "execute",
"lineno": 117,
"filename": "/ak-root/.venv/lib/python3.14/site-packages/psycopg/cursor.py"
}
],
"exc_type": "NotNullViolation",
"is_cause": true,
"is_group": false,
"exc_notes": [],
"exc_value": "null value in column \"tenant_id\" of relation \"authentik_tasks_task\" violates not-null constraint\nDETAIL: Failing row contains (e924ed1c-e1b1-44d0-b2a4-7061276e5c85, default, authentik.sources.ldap.tasks.ldap_sync_page, \\x8005959e010000000000007d94288c0a71756575655f6e616d65948c076465..., queued, 2026-04-29 02:31:24.951332+00, null, null, null, null, [], [], queued, null, null, null, 0).",
"exceptions": [],
"syntax_error": null
},
{
"frames": [
{
"name": "get_or_create",
"lineno": 948,
"filename": "/ak-root/.venv/lib/python3.14/site-packages/django/db/models/query.py"
},
{
"name": "get",
"lineno": 635,
"filename": "/ak-root/.venv/lib/python3.14/site-packages/django/db/models/query.py"
}
],
"exc_type": "DoesNotExist",
"is_cause": false,
"is_group": false,
"exc_notes": [],
"exc_value": "Task matching query does not exist.",
"exceptions": [],
"syntax_error": null
}
]
}
Describe the bug
When running LDAP synchronization, the main sync task (authentik.sources.ldap.tasks.ldap_sync) fails with a database error related to a missing tenant_id. This appears to occur during task creation or scheduling of sub-tasks (e.g., authentik.sources.ldap.tasks.ldap_sync_page)
How to reproduce
Expected behavior
LDAP sync tasks should be created and executed successfully.
Screenshots
Additional context
null value in column "tenant_id" of relation "authentik_tasks_task" violates not-null constraint DETAIL: Failing row contains (57cad683-70a2-4c99-a827-1cd2cc403600, default, authentik.sources.ldap.tasks.ldap_sync_page, \x8005959e010000000000007d94288c0a71756575655f6e616d65948c076465..., queued, 2026-04-29 04:44:22.665456+00, null, null, null, null, [], [], queued, null, null, null, 0).
Deployment Method
Docker
Version
2026.2.2
Relevant log output
Attributes { "exception": [ { "frames": [ { "name": "process_message", "lineno": 487, "filename": "/ak-root/.venv/lib/python3.14/site-packages/dramatiq/worker.py" }, { "name": "__call__", "lineno": 185, "filename": "/ak-root/.venv/lib/python3.14/site-packages/dramatiq/actor.py" }, { "name": "ldap_sync", "lineno": 86, "filename": "/authentik/sources/ldap/tasks.py" }, { "name": "run", "lineno": 316, "filename": "/ak-root/.venv/lib/python3.14/site-packages/dramatiq/composition.py" }, { "name": "wrapped_f", "lineno": 338, "filename": "/ak-root/.venv/lib/python3.14/site-packages/tenacity/__init__.py" }, { "name": "__call__", "lineno": 477, "filename": "/ak-root/.venv/lib/python3.14/site-packages/tenacity/__init__.py" }, { "name": "iter", "lineno": 378, "filename": "/ak-root/.venv/lib/python3.14/site-packages/tenacity/__init__.py" }, { "name": "exc_check", "lineno": 420, "filename": "/ak-root/.venv/lib/python3.14/site-packages/tenacity/__init__.py" }, { "name": "reraise", "lineno": 187, "filename": "/ak-root/.venv/lib/python3.14/site-packages/tenacity/__init__.py" }, { "name": "result", "lineno": 443, "filename": "/usr/local/lib/python3.14/concurrent/futures/_base.py" }, { "name": "__get_result", "lineno": 395, "filename": "/usr/local/lib/python3.14/concurrent/futures/_base.py" }, { "name": "__call__", "lineno": 480, "filename": "/ak-root/.venv/lib/python3.14/site-packages/tenacity/__init__.py" }, { "name": "wrapper", "lineno": 65, "filename": "/ak-root/packages/django-dramatiq-postgres/django_dramatiq_postgres/broker.py" } ], "exc_type": "ConnectionError", "is_cause": false, "is_group": false, "exc_notes": [], "exc_value": "null value in column \"tenant_id\" of relation \"authentik_tasks_task\" violates not-null constraint\nDETAIL: Failing row contains (e924ed1c-e1b1-44d0-b2a4-7061276e5c85, default, authentik.sources.ldap.tasks.ldap_sync_page, \\x8005959e010000000000007d94288c0a71756575655f6e616d65948c076465..., queued, 2026-04-29 02:31:24.951332+00, null, null, null, null, [], [], queued, null, null, null, 0).", "exceptions": [], "syntax_error": null }, { "frames": [ { "name": "wrapper", "lineno": 62, "filename": "/ak-root/packages/django-dramatiq-postgres/django_dramatiq_postgres/broker.py" }, { "name": "enqueue", "lineno": 176, "filename": "/ak-root/packages/django-dramatiq-postgres/django_dramatiq_postgres/broker.py" }, { "name": "update_or_create", "lineno": 990, "filename": "/ak-root/.venv/lib/python3.14/site-packages/django/db/models/query.py" }, { "name": "get_or_create", "lineno": 955, "filename": "/ak-root/.venv/lib/python3.14/site-packages/django/db/models/query.py" }, { "name": "create", "lineno": 665, "filename": "/ak-root/.venv/lib/python3.14/site-packages/django/db/models/query.py" }, { "name": "save", "lineno": 902, "filename": "/ak-root/.venv/lib/python3.14/site-packages/django/db/models/base.py" }, { "name": "save_base", "lineno": 1008, "filename": "/ak-root/.venv/lib/python3.14/site-packages/django/db/models/base.py" }, { "name": "_save_table", "lineno": 1169, "filename": "/ak-root/.venv/lib/python3.14/site-packages/django/db/models/base.py" }, { "name": "_do_insert", "lineno": 1210, "filename": "/ak-root/.venv/lib/python3.14/site-packages/django/db/models/base.py" }, { "name": "manager_method", "lineno": 87, "filename": "/ak-root/.venv/lib/python3.14/site-packages/django/db/models/manager.py" }, { "name": "_insert", "lineno": 1873, "filename": "/ak-root/.venv/lib/python3.14/site-packages/django/db/models/query.py" }, { "name": "execute_sql", "lineno": 1882, "filename": "/ak-root/.venv/lib/python3.14/site-packages/django/db/models/sql/compiler.py" }, { "name": "execute", "lineno": 79, "filename": "/ak-root/.venv/lib/python3.14/site-packages/django/db/backends/utils.py" }, { "name": "_execute_with_wrappers", "lineno": 92, "filename": "/ak-root/.venv/lib/python3.14/site-packages/django/db/backends/utils.py" }, { "name": "_execute", "lineno": 100, "filename": "/ak-root/.venv/lib/python3.14/site-packages/django/db/backends/utils.py" }, { "name": "__exit__", "lineno": 91, "filename": "/ak-root/.venv/lib/python3.14/site-packages/django/db/utils.py" }, { "name": "_execute", "lineno": 105, "filename": "/ak-root/.venv/lib/python3.14/site-packages/django/db/backends/utils.py" }, { "name": "execute", "lineno": 69, "filename": "/ak-root/.venv/lib/python3.14/site-packages/django_prometheus/db/common.py" }, { "name": "execute", "lineno": 117, "filename": "/ak-root/.venv/lib/python3.14/site-packages/psycopg/cursor.py" } ], "exc_type": "IntegrityError", "is_cause": true, "is_group": false, "exc_notes": [], "exc_value": "null value in column \"tenant_id\" of relation \"authentik_tasks_task\" violates not-null constraint\nDETAIL: Failing row contains (e924ed1c-e1b1-44d0-b2a4-7061276e5c85, default, authentik.sources.ldap.tasks.ldap_sync_page, \\x8005959e010000000000007d94288c0a71756575655f6e616d65948c076465..., queued, 2026-04-29 02:31:24.951332+00, null, null, null, null, [], [], queued, null, null, null, 0).", "exceptions": [], "syntax_error": null }, { "frames": [ { "name": "_execute", "lineno": 105, "filename": "/ak-root/.venv/lib/python3.14/site-packages/django/db/backends/utils.py" }, { "name": "execute", "lineno": 69, "filename": "/ak-root/.venv/lib/python3.14/site-packages/django_prometheus/db/common.py" }, { "name": "execute", "lineno": 117, "filename": "/ak-root/.venv/lib/python3.14/site-packages/psycopg/cursor.py" } ], "exc_type": "NotNullViolation", "is_cause": true, "is_group": false, "exc_notes": [], "exc_value": "null value in column \"tenant_id\" of relation \"authentik_tasks_task\" violates not-null constraint\nDETAIL: Failing row contains (e924ed1c-e1b1-44d0-b2a4-7061276e5c85, default, authentik.sources.ldap.tasks.ldap_sync_page, \\x8005959e010000000000007d94288c0a71756575655f6e616d65948c076465..., queued, 2026-04-29 02:31:24.951332+00, null, null, null, null, [], [], queued, null, null, null, 0).", "exceptions": [], "syntax_error": null }, { "frames": [ { "name": "get_or_create", "lineno": 948, "filename": "/ak-root/.venv/lib/python3.14/site-packages/django/db/models/query.py" }, { "name": "get", "lineno": 635, "filename": "/ak-root/.venv/lib/python3.14/site-packages/django/db/models/query.py" } ], "exc_type": "DoesNotExist", "is_cause": false, "is_group": false, "exc_notes": [], "exc_value": "Task matching query does not exist.", "exceptions": [], "syntax_error": null } ] }