From ea3abd2f87d7f6144dcd99be74b0bdd1c0d54a12 Mon Sep 17 00:00:00 2001 From: ntkathole Date: Tue, 3 Mar 2026 16:46:04 +0530 Subject: [PATCH] fix: Fixed IntegrityError on SqlRegistry Signed-off-by: ntkathole --- sdk/python/feast/infra/registry/sql.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/sdk/python/feast/infra/registry/sql.py b/sdk/python/feast/infra/registry/sql.py index 103b1f6c0a6..70bd3c64392 100644 --- a/sdk/python/feast/infra/registry/sql.py +++ b/sdk/python/feast/infra/registry/sql.py @@ -23,6 +23,7 @@ update, ) from sqlalchemy.engine import Engine +from sqlalchemy.exc import IntegrityError from feast import utils from feast.base_feature_view import BaseFeatureView @@ -1028,8 +1029,15 @@ def _maybe_init_project_metadata(self, project): "last_updated_timestamp": update_time, "project_id": project, } - insert_stmt = insert(feast_metadata).values(values) - conn.execute(insert_stmt) + try: + with conn.begin_nested(): + conn.execute(insert(feast_metadata).values(values)) + except IntegrityError: + logger.info( + "Project metadata for %s already initialized by " + "another process.", + project, + ) def _delete_object( self,