feast icon indicating copy to clipboard operation
feast copied to clipboard

google.protobuf.message.DecodeError: Error parsing message

Open prk2331 opened this issue 1 year ago • 3 comments

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:[email protected]: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 avatar Dec 20 '23 16:12 prk2331

@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

prk2331 avatar Jan 10 '24 12:01 prk2331

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.

robhowley avatar Jan 10 '24 14:01 robhowley

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

redhatHameed avatar Feb 19 '24 20:02 redhatHameed