Skip to content

Conversation

shuchu
Copy link
Collaborator

@shuchu shuchu commented Sep 20, 2025

What this PR does / why we need it:

1, Update the Go version to 1.23. (Prepare for the OTEL implementation)
2, Fix the serialization EntityKey version 3 issue of Go Feature server. Now only version 3 serialization is supported.

Which issue(s) this PR fixes:

#5608

Misc

@shuchu shuchu marked this pull request as ready for review September 20, 2025 02:28
@shuchu shuchu requested a review from a team as a code owner September 20, 2025 02:28
@shuchu shuchu force-pushed the fix/fix_golang_entitykey_serialization branch from 17ecbfd to 1bc8085 Compare September 20, 2025 02:29
@shuchu shuchu added the go Pull requests that update Go code label Sep 20, 2025
@shuchu
Copy link
Collaborator Author

shuchu commented Sep 20, 2025

cc: @jyejare Hi, the Github does not allow me to add you as a reviewer. But please help me to review it. This PR includes some of your code.

@shuchu shuchu requested review from Copilot and HaoXuAI September 20, 2025 02:31
Copy link

@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR updates the Go Feature Server to fix EntityKey serialization version 3 issues and upgrades Go to version 1.23. The changes focus on implementing proper serialization for EntityKey version 3 by adding a count prefix and reorganizing the serialization logic.

  • Updated Go version from 1.22.0 to 1.23
  • Fixed EntityKey serialization version 3 by adding join key count prefix and restructuring buffer layout
  • Moved serializeValue function from redisonlinestore.go to onlinestore.go for better code organization

Reviewed Changes

Copilot reviewed 6 out of 6 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
go.mod Updates Go version to 1.23 and toolchain to 1.23.12
go/internal/feast/onlinestore/onlinestore.go Implements EntityKey v3 serialization with key count prefix and moves serializeValue function
go/internal/feast/onlinestore/redisonlinestore.go Removes serializeValue function (moved to onlinestore.go)
go/internal/feast/onlinestore/onlinestore_test.go Adds unit test for serializeEntityKey function
go/internal/test/feature_repo/feature_store.yaml Sets entity_key_serialization_version to 3
Makefile Updates build dependencies and test targets

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

@shuchu shuchu changed the title Fix/fix golang entitykey serialization fix: Fix golang entitykey serialization for version 3 Sep 20, 2025
@shuchu shuchu changed the title fix: Fix golang entitykey serialization for version 3 fix: Fix Go feature server entitykey serialization for version 3 Sep 20, 2025
@shuchu shuchu merged commit 5ab18a6 into feast-dev:master Sep 22, 2025
17 checks passed
franciscojavierarceo pushed a commit that referenced this pull request Sep 30, 2025
# [0.54.0](v0.53.0...v0.54.0) (2025-09-30)

### Bug Fixes

* Column quoting in query of `PostgreSQLOfflineStore.pull_all_from_table_or_query` ([#5621](#5621)) ([e8eae71](e8eae71))
* Correct column list polars materialization engine ([#5595](#5595)) ([39aeb0c](39aeb0c))
* Fix Go feature server entitykey serialization for version 3 ([#5622](#5622)) ([5ab18a6](5ab18a6))
* Fix hostname resolution for spark tests ([#5610](#5610)) ([8f0e22d](8f0e22d))
* Fixed filtering based on data_source for ODFVs ([#5593](#5593)) ([c3e6c56](c3e6c56))
* Fixed project_description to set in registry and UI ([#5602](#5602)) ([02c3006](02c3006))
* Fixed Registry Cache Refresh Issues ([#5604](#5604)) ([3c7a022](3c7a022))
* Fixed tls issue when running both grpc and rest servers ([#5617](#5617)) ([51c16b1](51c16b1))
* Fixed transaction handling with SQLite registry ([#5588](#5588)) ([0052754](0052754))
* Update the deprecated functions in Go feature server. ([#5632](#5632)) ([a24e06e](a24e06e))
* Updated python packages conflicting with kserve dependencies ([#5580](#5580)) ([d56baf4](d56baf4))

### Features

* Add 'featureView' in global search api result for features. ([#5626](#5626)) ([76590bf](76590bf))
* Add aggregation in OnDemandFeatureView ([#5629](#5629)) ([8715ae8](8715ae8))
* Added codeflare-sdk to requirements ([#5640](#5640)) ([51a0ee6](51a0ee6))
* Added RemoteDatasetProxy that executes Ray Data operations remotely ([7128024](7128024))
* Added support for image search ([#5577](#5577)) ([56c5910](56c5910))
* Enable ingestion without event timestamp ([#5625](#5625)) ([eb51f00](eb51f00))
* Feast dataframe phase1 ([#5611](#5611)) ([2ce4198](2ce4198))
* Feast dataframe phase2 ([#5612](#5612)) ([1d08786](1d08786))
* Feast Namespaces registry for client ConfigMaps availability ([#5599](#5599)) ([728589a](728589a))
* Support hdfs:// uris in to_remote_storage for Spark offline store ([#5635](#5635)) ([5e4b9fd](5e4b9fd))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
go Pull requests that update Go code
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants