Skip to content

Commit 6406625

Browse files
authored
feat: Update the go feature server from Expedia code repo. (#4665)
* feat: Update the go feature server from Expedia code repo. Signed-off-by: Shuchu Han <[email protected]> * fix: Add go package definition to RegistryServer and Grpcserver. Signed-off-by: Shuchu Han <[email protected]> * fix: Fix the make build-go Signed-off-by: Shuchu Han <[email protected]> * fix: Fix makefile to make test-go work. Signed-off-by: Shuchu Han <[email protected]> * fix: Removed and commented out DataDog related observability instrumentation code. Signed-off-by: Shuchu Han <[email protected]> * doc: Update the README to mention the contirbution from Expedia Group. Signed-off-by: Shuchu Han <[email protected]> * fix: Remove the HTTP based Registry. Signed-off-by: Shuchu Han <[email protected]> * fix: Use a general string to represent the transformation service endpoint. Signed-off-by: Shuchu Han <[email protected]> * fix: Set the transformation service endpoint defintion to feature_store.yaml file instead of OS env. Signed-off-by: Shuchu Han <[email protected]> * fix: Fix few format issues. Signed-off-by: Shuchu Han <[email protected]> --------- Signed-off-by: Shuchu Han <[email protected]>
1 parent 1115d96 commit 6406625

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

45 files changed

+1733
-2317
lines changed

MANIFEST.in

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,3 +6,4 @@ prune infra
66
prune examples
77

88
graft sdk/python/feast/ui/build
9+
graft sdk/python/feast/embedded_go/lib

Makefile

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -545,3 +545,47 @@ build-helm-docs:
545545
# Note: requires node and yarn to be installed
546546
build-ui:
547547
cd $(ROOT_DIR)/sdk/python/feast/ui && yarn upgrade @feast-dev/feast-ui --latest && yarn install && npm run build --omit=dev
548+
549+
550+
551+
# Go SDK & embedded
552+
install-protoc-dependencies:
553+
pip install "protobuf>=4.24.0,<5.0.0" "grpcio-tools>=1.56.2,<2" "mypy-protobuf>=3.1"
554+
555+
install-go-proto-dependencies:
556+
go install google.golang.org/protobuf/cmd/[email protected]
557+
go install google.golang.org/grpc/cmd/[email protected]
558+
559+
#install-go-ci-dependencies:
560+
# go install golang.org/x/tools/cmd/goimports
561+
# python -m pip install "pybindgen==0.22.1" "grpcio-tools>=1.56.2,<2" "mypy-protobuf>=3.1"
562+
563+
build-go:
564+
compile-protos-go
565+
go build -o feast ./go/main.go
566+
567+
install-feast-ci-locally:
568+
pip install -e ".[ci]"
569+
570+
test-go:
571+
compile-protos-go
572+
compile-protos-python
573+
install-feast-ci-locally
574+
CGO_ENABLED=1 go test -coverprofile=coverage.out ./... && go tool cover -html=coverage.out -o coverage.html
575+
576+
format-go:
577+
gofmt -s -w go/
578+
579+
lint-go:
580+
compile-protos-go
581+
go vet ./go/internal/feast
582+
583+
build-go-docker-dev:
584+
docker buildx build --build-arg VERSION=dev \
585+
-t feastdev/feature-server-go:dev \
586+
-f go/infra/docker/feature-server/Dockerfile --load .
587+
588+
compile-protos-go:
589+
install-go-proto-dependencies
590+
install-protoc-dependencies
591+
python setup.py build_go_protos

go.mod

Lines changed: 34 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,50 +1,54 @@
11
module github.com/feast-dev/feast
22

3-
go 1.17
3+
go 1.22.0
44

5-
replace github.com/go-python/gopy v0.4.4 => github.com/feast-dev/gopy v0.4.1-0.20220714211711-252048177d85
5+
toolchain go1.22.5
66

77
require (
8-
github.com/apache/arrow/go/v8 v8.0.0
8+
github.com/apache/arrow/go/v17 v17.0.0
99
github.com/ghodss/yaml v1.0.0
10-
github.com/go-redis/redis/v8 v8.11.4
11-
github.com/golang/protobuf v1.5.3
12-
github.com/google/uuid v1.3.0
13-
github.com/mattn/go-sqlite3 v1.14.12
10+
github.com/golang/protobuf v1.5.4
11+
github.com/google/uuid v1.6.0
12+
github.com/mattn/go-sqlite3 v1.14.23
1413
github.com/pkg/errors v0.9.1
14+
github.com/redis/go-redis/v9 v9.6.1
15+
github.com/rs/zerolog v1.33.0
1516
github.com/spaolacci/murmur3 v1.1.0
16-
github.com/stretchr/testify v1.7.0
17-
google.golang.org/grpc v1.56.3
18-
google.golang.org/protobuf v1.33.0
17+
github.com/stretchr/testify v1.9.0
18+
google.golang.org/grpc v1.67.0
19+
google.golang.org/protobuf v1.34.2
1920
)
2021

2122
require (
2223
github.com/JohnCGriffin/overflow v0.0.0-20211019200055-46fa312c352c // indirect
23-
github.com/andybalholm/brotli v1.0.4 // indirect
24-
github.com/apache/thrift v0.15.0 // indirect
25-
github.com/cespare/xxhash/v2 v2.2.0 // indirect
26-
github.com/davecgh/go-spew v1.1.1 // indirect
24+
github.com/andybalholm/brotli v1.1.0 // indirect
25+
github.com/apache/thrift v0.21.0 // indirect
26+
github.com/cespare/xxhash/v2 v2.3.0 // indirect
27+
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
2728
github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f // indirect
28-
github.com/goccy/go-json v0.9.6 // indirect
29+
github.com/goccy/go-json v0.10.3 // indirect
2930
github.com/golang/snappy v0.0.4 // indirect
30-
github.com/google/flatbuffers v2.0.6+incompatible // indirect
31+
github.com/google/flatbuffers v24.3.25+incompatible // indirect
3132
github.com/klauspost/asmfmt v1.3.2 // indirect
32-
github.com/klauspost/compress v1.15.1 // indirect
33-
github.com/klauspost/cpuid/v2 v2.0.12 // indirect
33+
github.com/klauspost/compress v1.17.9 // indirect
34+
github.com/klauspost/cpuid/v2 v2.2.8 // indirect
35+
github.com/mattn/go-colorable v0.1.13 // indirect
36+
github.com/mattn/go-isatty v0.0.20 // indirect
3437
github.com/minio/asm2plan9s v0.0.0-20200509001527-cdd76441f9d8 // indirect
3538
github.com/minio/c2goasm v0.0.0-20190812172519-36a3d3bbc4f3 // indirect
36-
github.com/pierrec/lz4/v4 v4.1.14 // indirect
37-
github.com/pmezard/go-difflib v1.0.0 // indirect
39+
github.com/pierrec/lz4/v4 v4.1.21 // indirect
40+
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect
41+
github.com/stretchr/objx v0.5.2 // indirect
3842
github.com/zeebo/xxh3 v1.0.2 // indirect
39-
golang.org/x/exp v0.0.0-20220407100705-7b9b53b0aca4 // indirect
40-
golang.org/x/mod v0.8.0 // indirect
41-
golang.org/x/net v0.23.0 // indirect
42-
golang.org/x/sys v0.18.0 // indirect
43-
golang.org/x/text v0.14.0 // indirect
44-
golang.org/x/tools v0.6.0 // indirect
45-
golang.org/x/xerrors v0.0.0-20220411194840-2f41105eb62f // indirect
46-
google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1 // indirect
47-
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c // indirect
43+
golang.org/x/exp v0.0.0-20240909161429-701f63a606c0 // indirect
44+
golang.org/x/mod v0.21.0 // indirect
45+
golang.org/x/net v0.29.0 // indirect
46+
golang.org/x/sync v0.8.0 // indirect
47+
golang.org/x/sys v0.25.0 // indirect
48+
golang.org/x/text v0.18.0 // indirect
49+
golang.org/x/tools v0.25.0 // indirect
50+
golang.org/x/xerrors v0.0.0-20240903120638-7835f813f4da // indirect
51+
google.golang.org/genproto/googleapis/rpc v0.0.0-20240903143218-8af14fe29dc1 // indirect
4852
gopkg.in/yaml.v2 v2.4.0 // indirect
49-
gopkg.in/yaml.v3 v3.0.0 // indirect
53+
gopkg.in/yaml.v3 v3.0.1 // indirect
5054
)

0 commit comments

Comments
 (0)