diff --git a/sdk/python/feast/type_map.py b/sdk/python/feast/type_map.py index 54699396c80..206515321f3 100644 --- a/sdk/python/feast/type_map.py +++ b/sdk/python/feast/type_map.py @@ -562,7 +562,7 @@ def _convert_value_type_str_to_value_type(type_str: str) -> ValueType: "UNIX_TIMESTAMP": ValueType.UNIX_TIMESTAMP, "BYTES_LIST": ValueType.BYTES_LIST, "STRING_LIST": ValueType.STRING_LIST, - "INT32_LIST ": ValueType.INT32_LIST, + "INT32_LIST": ValueType.INT32_LIST, "INT64_LIST": ValueType.INT64_LIST, "DOUBLE_LIST": ValueType.DOUBLE_LIST, "FLOAT_LIST": ValueType.FLOAT_LIST, diff --git a/sdk/python/tests/unit/test_type_map.py b/sdk/python/tests/unit/test_type_map.py index 5dfb0c52437..d764e3b7f3f 100644 --- a/sdk/python/tests/unit/test_type_map.py +++ b/sdk/python/tests/unit/test_type_map.py @@ -50,6 +50,12 @@ def test_null_unix_timestamp_list(): assert converted[0] is None +def test_convert_value_type_str_to_value_type_int_lists(): + # Regression: "INT32_LIST" once had a trailing space and fell through to STRING. + assert _convert_value_type_str_to_value_type("INT32_LIST") == ValueType.INT32_LIST + assert _convert_value_type_str_to_value_type("INT64_LIST") == ValueType.INT64_LIST + + @pytest.mark.parametrize( "values", (