Skip to content

TypeError regression for feast plan with an existing registry #4816

@cburroughs

Description

@cburroughs

Expected Behavior

feast plan completes without error

Current Behavior

Using feast plan with an existing Snowflake registry results in a TypeError:

  File "/code/virtualenvs/default/3.11.9/bin/feast", line 10, in <module>
    sys.exit(cli())
             ^^^^^
  File "/code/virtualenvs/default/3.11.9/lib/python3.11/site-packages/click/core.py", line 1157, in __call__
    return self.main(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/code/virtualenvs/default/3.11.9/lib/python3.11/site-packages/click/core.py", line 1078, in main
    rv = self.invoke(ctx)
         ^^^^^^^^^^^^^^^^
  File "/code/virtualenvs/default/3.11.9/lib/python3.11/site-packages/click/core.py", line 1688, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/code/virtualenvs/default/3.11.9/lib/python3.11/site-packages/click/core.py", line 1434, in invoke
    return ctx.invoke(self.callback, **ctx.params)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/code/virtualenvs/default/3.11.9/lib/python3.11/site-packages/click/core.py", line 783, in invoke
    return __callback(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/code/virtualenvs/default/3.11.9/lib/python3.11/site-packages/click/decorators.py", line 33, in new_func
    return f(get_current_context(), *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/code/virtualenvs/default/3.11.9/lib/python3.11/site-packages/feast/cli.py", line 712, in plan_command
    plan(repo_config, repo, skip_source_validation)
  File "/code/virtualenvs/default/3.11.9/lib/python3.11/site-packages/feast/repo_operations.py", line 237, in plan
    registry_diff, infra_diff, _ = store.plan(repo)
                                   ^^^^^^^^^^^^^^^^
  File "/code/virtualenvs/default/3.11.9/lib/python3.11/site-packages/feast/feature_store.py", line 733, in plan
    registry_diff = diff_between(
                    ^^^^^^^^^^^^^
  File "/code/virtualenvs/default/3.11.9/lib/python3.11/site-packages/feast/diff/registry_diff.py", line 306, in diff_between
    diff_registry_objects(current_obj, e, object_type)
  File "/code/virtualenvs/default/3.11.9/lib/python3.11/site-packages/feast/diff/registry_diff.py", line 144, in diff_registry_objects
    if current != new:
       ^^^^^^^^^^^^^^
  File "/code/virtualenvs/default/3.11.9/lib/python3.11/site-packages/feast/feature_service.py", line 179, in __eq__
    if sorted(self.feature_view_projections) != sorted(
       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<attrs generated eq feast.feature_view_projection.FeatureViewProjection>", line 13, in __eq__
  File "/code/virtualenvs/default/3.11.9/lib/python3.11/site-packages/feast/infra/offline_stores/snowflake_source.py", line 133, in __eq__
    raise TypeError(
TypeError: Comparisons should only involve SnowflakeSource class objects.

Steps to reproduce

  • I have bisected the error to 0192b2e
  • From print() debugging, the type of the other inducing the error is None.

Specifications

  • Version: 40.1 works, 41.3 has this error
  • Platform: Linux
  • Subsystem: snowflake.offline

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions