Skip to content

Cannot push the data to Offline store server, due to incorrect timestamp fields #5549

Closed

Description

@jyejare

Expected Behavior

Push to Offline store works for following

df = pd.read_parquet('data/train.parquet')
fs.push(push_source_name='train_push_source', df=df, to=PushMode.OFFLINE)

Current Behavior

The push to offline store server from a clinet throws error:

Traceback (most recent call last):
  File "/opt/app-root/lib64/python3.11/site-packages/google/protobuf/json_format.py", line 684, in _ConvertFieldValuePair
    self.ConvertMessage(value, sub_message, '{0}.{1}'.format(path, name))
  File "/opt/app-root/lib64/python3.11/site-packages/google/protobuf/json_format.py", line 540, in ConvertMessage
    self._ConvertFieldValuePair(value, message, path)
  File "/opt/app-root/lib64/python3.11/site-packages/google/protobuf/json_format.py", line 696, in _ConvertFieldValuePair
    raise ParseError(str(e)) from e
google.protobuf.json_format.ParseError: Message type "feast.core.DataSource.SourceMeta" has no field named "createdTimestamp" at "DataSource.meta".
 Available Fields(except extensions): "['earliestEventTimestamp', 'latestEventTimestamp']"
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
  File "/opt/app-root/lib64/python3.11/site-packages/feast/offline_server.py", line 256, in do_get
    table = self.get_table_column_names_and_types_from_data_source(command)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/app-root/lib64/python3.11/site-packages/feast/offline_server.py", line 513, in get_table_column_names_and_types_from_data_source
    data_source = OfflineServer._extract_data_source_from_command(command)
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/app-root/lib64/python3.11/site-packages/feast/offline_server.py", line 497, in _extract_data_source_from_command
    Parse(data_source_proto_str, data_source_proto)
  File "/opt/app-root/lib64/python3.11/site-packages/google/protobuf/json_format.py", line 465, in Parse
    raise e
  File "/opt/app-root/lib64/python3.11/site-packages/google/protobuf/json_format.py", line 461, in Parse
    return ParseDict(
           ^^^^^^^^^^
  File "/opt/app-root/lib64/python3.11/site-packages/google/protobuf/json_format.py", line 495, in ParseDict
    parser.ConvertMessage(js_dict, message, '')
  File "/opt/app-root/lib64/python3.11/site-packages/google/protobuf/json_format.py", line 540, in ConvertMessage
    self._ConvertFieldValuePair(value, message, path)
  File "/opt/app-root/lib64/python3.11/site-packages/google/protobuf/json_format.py", line 692, in _ConvertFieldValuePair
    raise ParseError(
google.protobuf.json_format.ParseError: Failed to parse meta field: Message type "feast.core.DataSource.SourceMeta" has no field named "createdTimestamp" at "DataSource.meta".
 Available Fields(except extensions): "['earliestEventTimestamp', 'latestEventTimestamp']".

Steps to reproduce:

  1. Create the datasource and point to the file having timestamp fields, also mention the custom timestamp fields in FileSource.
  2. Create PushSource from file source.
  3. Create a feature View with custom fields.
  4. Attempt to push the DataFrame to offline store with the push source and dataframe.
df = pd.read_parquet('data/train.parquet')
fs.push(push_source_name='train_push_source', df=df, to=PushMode.OFFLINE)

Specifications

  • Version: 0.51.0
  • Platform:
  • Subsystem:

Possible Solution

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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