feast-dev / feast

The Open Source Feature Store for Machine Learning
https://feast.dev
Apache License 2.0
5.57k stars 998 forks source link

google.protobuf.message.DecodeError: Error parsing message #3869

Open prk2331 opened 10 months ago

prk2331 commented 10 months ago

Hi team, in 5 out of 4 requests im facing an error on this line, my feast version is 0.34.1 store = FeatureStore(config=repo_config)

below is my repo config code:

 from feast import FeatureStore
    repo_config = RepoConfig(
            registry=RegistryConfig(
                registry_type="sql",
                path="postgresql://postgres:postgres@myproj-pg-svc.postgres:5432/postgres",
            ),
            project="feast_repo",
            provider="local",
            offline_store=PostgreSQLOfflineStoreConfig(
                host= 'myproj-pg-svc.postgres',
                port= 5432,              # Optional, default it 5432
                database= 'postgres',
                db_schema= 'offline_schema',
                user= 'postgres',
                password= 'postgres'
            ),
            online_store=PostgreSQLOnlineStoreConfig(
                host= 'myproj-pg-svc.postgres',
                port= 5432,                  # Optional, default is 5432
                database= 'postgres',
                db_schema= 'online_schema',    # Optional, default is None
                user= 'postgres',
                password= 'postgres'
            ),
            entity_key_serialization_version=2,
        )
        store = FeatureStore(config=repo_config)

error log:

 File "/tmp/tmppjgr_c6zprefect/flow.py", line 126, in data_extraction_from_store
    store = FeatureStore(config=repo_config)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/feast/usage.py", line 362, in wrapper
    raise exc.with_traceback(traceback)
  File "/usr/local/lib/python3.11/site-packages/feast/usage.py", line 348, in wrapper
    return func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/feast/feature_store.py", line 160, in __init__
    self._registry = SqlRegistry(registry_config, self.config.project, None)
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/feast/infra/registry/sql.py", line 204, in __init__
    self.cached_registry_proto = self.proto()
                                 ^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/feast/infra/registry/sql.py", line 846, in proto
    objs: List[Any] = lister(project)  # type: ignore
                      ^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/feast/infra/registry/sql.py", line 586, in list_feature_views
    return self._list_objects(
           ^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/feast/infra/registry/sql.py", line 1010, in _list_objects
    return [
           ^
  File "/usr/local/lib/python3.11/site-packages/feast/infra/registry/sql.py", line 1012, in <listcomp>
    proto_class.FromString(row[proto_field_name])
google.protobuf.message.DecodeError: Error parsing message
09:52:19 PM
data_extraction_from_store-0
prefect.task_runs
Finished in state Failed('Task run encountered an exception DecodeError: Error parsing message')
09:52:19 PM
data_extraction_from_store-0
prefect.task_runs
Encountered exception during execution:
Traceback (most recent call last):
  File "/usr/local/lib/python3.11/site-packages/prefect/engine.py", line 829, in orchestrate_flow_run
    result = await flow_call.aresult()
             ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/prefect/_internal/concurrency/calls.py", line 291, in aresult
    return await asyncio.wrap_future(self.future)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/prefect/_internal/concurrency/calls.py", line 315, in _run_sync
    result = self.fn(*self.args, **self.kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/tmp/tmppjgr_c6zprefect/flow.py", line 179, in extract_data_feature_store
    features = data_extraction_from_store(feature_view)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/prefect/tasks.py", line 550, in __call__
    return enter_task_run_engine(
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/prefect/engine.py", line 1144, in enter_task_run_engine
    return from_sync.wait_for_call_in_loop_thread(begin_run)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/prefect/_internal/concurrency/api.py", line 243, in wait_for_call_in_loop_thread
    return call.result()
           ^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/prefect/_internal/concurrency/calls.py", line 282, in result
    return self.future.result(timeout=timeout)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/prefect/_internal/concurrency/calls.py", line 168, in result
    return self.__get_result()
           ^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/concurrent/futures/_base.py", line 401, in __get_result
    raise self._exception
  File "/usr/local/lib/python3.11/site-packages/prefect/_internal/concurrency/calls.py", line 345, in _run_async
    result = await coro
             ^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/prefect/engine.py", line 1312, in get_task_call_return_value
    return await future._result()
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/prefect/futures.py", line 237, in _result
    return await final_state.result(raise_on_failure=raise_on_failure, fetch=True)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/prefect/states.py", line 91, in _get_state_result
    raise await get_state_exception(state)
  File "/usr/local/lib/python3.11/site-packages/prefect/engine.py", line 1729, in orchestrate_task_run
    result = await call.aresult()
             ^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/prefect/_internal/concurrency/calls.py", line 291, in aresult
    return await asyncio.wrap_future(self.future)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/prefect/_internal/concurrency/calls.py", line 315, in _run_sync
    result = self.fn(*self.args, **self.kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/tmp/tmppjgr_c6zprefect/flow.py", line 126, in data_extraction_from_store
    store = FeatureStore(config=repo_config)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/feast/usage.py", line 362, in wrapper
    raise exc.with_traceback(traceback)
  File "/usr/local/lib/python3.11/site-packages/feast/usage.py", line 348, in wrapper
    return func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/feast/feature_store.py", line 160, in __init__
    self._registry = SqlRegistry(registry_config, self.config.project, None)
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/feast/infra/registry/sql.py", line 204, in __init__
    self.cached_registry_proto = self.proto()
                                 ^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/feast/infra/registry/sql.py", line 846, in proto
    objs: List[Any] = lister(project)  # type: ignore
                      ^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/feast/infra/registry/sql.py", line 586, in list_feature_views
    return self._list_objects(
           ^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/feast/infra/registry/sql.py", line 1010, in _list_objects
    return [
           ^
  File "/usr/local/lib/python3.11/site-packages/feast/infra/registry/sql.py", line 1012, in <listcomp>
    proto_class.FromString(row[proto_field_name])
google.protobuf.message.DecodeError: Error parsing message
09:52:19 PM
prefect.flow_runs
Finished in state Failed('Flow run encountered an exception. DecodeError: Error parsing message')

Any help will be highly appreciated.

prk2331 commented 9 months ago

@robhowley sorry to tagged you here directly, but I'm stuck in this from last 2 weeks. no one is replying here. Kindly please help on this

Thanks

robhowley commented 9 months ago

i'm sorry, but i'm not a maintainer just a user and light contributor. not really familiar w prefect or the registry in database setup. my stack is redshift + dynamo + s3 registry.

the handoff from tecton to a new set of maintainers is supposed to happen soon but i don't know when. there are a few other issues discussing this. hopefully someone more in the weeds w your deployment will see this thread.

redhatHameed commented 8 months ago

@prk2331 can you try by downgrading your python version for example 3.9 also upgrading feast version 0.35.0 /0.36.0