◐ Shell
clean mode source ↗

fix: Add project filter to apply_data_source and delete_data_source by mailtoboggavarapu-coder · Pull Request #6298 · feast-dev/feast

devin-ai-integration[bot]

@mailtoboggavarapu-coder mailtoboggavarapu-coder changed the title fix: add project filter to apply_data_source in shared registry scenario fix: add project filter to apply_data_source and delete_data_source

Apr 20, 2026

devin-ai-integration[bot]

@ntkathole ntkathole changed the title fix: add project filter to apply_data_source and delete_data_source fix: Add project filter to apply_data_source and delete_data_source

Apr 22, 2026
Fixes two methods in the shared registry that were matching data sources
by name only, without filtering by project. In multi-project registries
where different projects share the same data source name (e.g. the
default "vals_to_add"), this caused:

- apply_data_source: cross-project overwriting of data sources
- delete_data_source: deleting data sources from the wrong project

Changes:
- apply_data_source: adds and existing_data_source_proto.project == project
  check (mirrors the pattern used in apply_entity, apply_feature_service,
  apply_feature_view)
- delete_data_source: uses the same project-scoped filter for consistency
- Fix Unicode mojibake in registry.py comments (em dashes and right arrows
  were stored as double-encoded Latin-1 bytes)
- apply ruff format - collapse single-line timestamp assignment

Fixes feast-dev#6206

Signed-off-by: Venkateswarlu Boggavarapu <mailtoboggavarapu@gmail.com>
Add two integration tests that verify the regression fix for feast-dev#6206:

- test_apply_data_source_cross_project_isolation: applies a FileSource
  with the same name to two separate projects and asserts that updating
  one project's source does not overwrite the other project's source.

- test_delete_data_source_project_scoped: applies a FileSource with the
  same name to two projects, deletes it from one, and asserts the other
  project's source is unaffected.

Signed-off-by: Venkateswarlu Boggavarapu <mailtoboggavarapu@gmail.com>
Signed-off-by: Venkateswarlu Boggavarapu <mailtoboggavarapu@gmail.com>
Add missing blank line between top-level test functions to satisfy ruff E302.

Signed-off-by: Venkateswarlu Boggavarapu <mailtoboggavarapu@gmail.com>
I, mailtoboggavarapu-coder <mailtoboggavarapu@gmail.com>, hereby attest that 58e4a38 adheres to the Developer Certificate of Origin.

Signed-off-by: mailtoboggavarapu-coder <mailtoboggavarapu@gmail.com>
I, mailtoboggavarapu-coder <mailtoboggavarapu@gmail.com>, hereby attest that eb71758 adheres to the Developer Certificate of Origin.

Signed-off-by: mailtoboggavarapu-coder <mailtoboggavarapu@gmail.com>

@mailtoboggavarapu-coder