Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
74 commits
Select commit Hold shift + click to select a range
a7d8b46
add default value field
Jan 23, 2026
789aa14
fixing mypy issues
Jan 24, 2026
46651f1
fixed formatting
Jan 25, 2026
cefb1e1
updated pydantic models
Jan 26, 2026
2a8317f
add missing property
Jan 26, 2026
4d75ee0
fix test failueres
Jan 27, 2026
e022c03
added unit tests
Jan 28, 2026
377d8b0
adding compiled protos
Jan 28, 2026
ff9655c
generated protos
Jan 29, 2026
df6f271
add default value field
Jan 23, 2026
bc9e537
fixing mypy issues
Jan 24, 2026
8b987e1
fixed formatting
Jan 25, 2026
3395d2b
updated pydantic models
Jan 26, 2026
fe771a7
add missing property
Jan 26, 2026
cde8f1e
fix test failueres
Jan 27, 2026
c8dc514
added unit tests
Jan 28, 2026
af0b9ba
adding compiled protos
Jan 28, 2026
ce5ca90
generated protos
Jan 29, 2026
9b0cb8b
Merge branch 'registry_defaults' of https://github.com/ExpediaGroup/f…
Jan 29, 2026
2bb9a1b
test(01-02): add Float32, Float64, Bytes, and array type default_valu…
Feb 27, 2026
923530f
feat(02-01): add JSON serialization for FieldModel.default_value
Feb 27, 2026
ffd647a
test(02-01): add FieldModel default_value JSON serialization tests
Feb 27, 2026
1a77afb
feat(02-02): add JSON serialization alias for FieldModel.default_value
Feb 27, 2026
11262a5
test(02-02): add Remote Registry proto roundtrip tests for default_value
Feb 27, 2026
f4c43b8
fix(02-02): add response_model_exclude_none for backwards compatibility
Feb 27, 2026
5469ec7
fix(02-02): fix FieldModel default_value serialization
Feb 27, 2026
657590b
docs(phase-2): complete Phase 2 Registry Services execution
Feb 27, 2026
650cd14
refactor(02-02): use snake_case for default_value field name
Feb 27, 2026
6dd5bae
docs(02-02): update verification to reflect snake_case naming
Feb 27, 2026
5a158fe
feat(03-01): add DefaultValue to Field model
Feb 27, 2026
bbca617
test(03-01): add failing test for default value application
Feb 27, 2026
a3200b7
feat(03-01): implement default value application in TransposeFeatureR…
Feb 27, 2026
a9d064f
feat(03-02): wire use_defaults through GetOnlineFeatures
Feb 27, 2026
deaabd5
test(03-02): verify DefaultValue loaded from proto to model
Feb 27, 2026
1caac50
test(04-01): add failing test for range value defaulting
Feb 28, 2026
f6e86a2
feat(04-01): implement range value defaulting for Sorted FVs
Feb 28, 2026
eeb80da
docs(04-01): complete range value defaulting plan
Feb 28, 2026
2fd2b7a
feat(04-02): wire use_defaults through GetOnlineFeaturesRange request…
Feb 28, 2026
9a79a93
test(05-01): add failing STRICT mode tests for defaulting
Mar 2, 2026
102f884
feat(05-01): implement STRICT mode validation and defaulting
Mar 2, 2026
363dec7
docs(05-01): complete STRICT mode implementation plan
Mar 2, 2026
38f02d1
feat(05-02): add observability to default value application
Mar 2, 2026
4994377
test(05-02): add test for feature defaults metric registration
Mar 2, 2026
3d3457a
docs(05-02): complete default value observability plan
Mar 2, 2026
ab67243
docs(phase-05): add phase 5 planning artifacts and verification report
Mar 2, 2026
e62c55e
test(phase-05): complete UAT - 6 passed, 1 issue
Mar 2, 2026
39b4984
test(phase-05): diagnose UAT issue - metric properly exposed
Mar 2, 2026
bbc1008
docs(05): create gap closure plan to remove Prometheus metric
Mar 2, 2026
eefff29
refactor(05-03): remove Prometheus metric from serving.go
Mar 2, 2026
d7bd99a
test(05-03): remove Prometheus metric test from serving_test.go
Mar 2, 2026
4dc96cf
docs(05-03): complete remove Prometheus metrics plan
Mar 2, 2026
16b6ebb
docs(phase-05): close gap - Prometheus metrics removed per user feedback
Mar 2, 2026
4a17666
removing docs
Mar 2, 2026
7321e56
docs(06): create phase plan for AI Workbench default value display
Mar 2, 2026
bc43e27
fix: resolve Python linting errors in expediagroup code
Mar 12, 2026
c86baa6
fix: apply ruff formatting to expediagroup code
Mar 13, 2026
83d20fc
revert: undo unrelated cassandra/scylladb and http registry cleanup c…
Mar 13, 2026
9b6c7ed
fix: critical bugs in default value implementation and revert unrelat…
Mar 14, 2026
5eca599
fix: code style consistency with existing Feast patterns
Mar 15, 2026
8a674cf
style: apply ruff formatting to field.py
Mar 15, 2026
8fc9d59
fix: use mode='json' in FieldModel tests to trigger field_serializer
Mar 15, 2026
18e2ff5
fix: revert test pattern to match codebase standard (model_dump witho…
Mar 15, 2026
6e5af6e
fix: add when_used='always' to field_serializer for proto Value seria…
Mar 16, 2026
ddf78d3
fix: correct OUTSIDE_MAX_AGE handling and parseUseDefaultsMode test
Mar 16, 2026
c34feec
fix: use mode='json' in all FieldModel test serialization calls
Mar 16, 2026
f5b54fb
fix: remove mode='json' from tests and update parseUseDefaultsMode test
Mar 16, 2026
511bb3b
fix: use model_dump_json/model_validate_json for true JSON roundtrips
Mar 16, 2026
7f2b526
fix: use @model_serializer instead of @field_serializer for proto Value
Mar 16, 2026
9669911
fix: access original proto Value from self in model_serializer
Mar 16, 2026
1bca256
fix: remove unused Callable import
Mar 16, 2026
1f51058
style: apply ruff formatting to field_model.py
Mar 16, 2026
6659d5a
fix: use Annotated with PlainSerializer for proto Value serialization
Mar 16, 2026
f1107c2
fix: use field_serializer with return_type for Python 3.10 compatibility
Mar 17, 2026
ea5fa62
fix: override model_dump directly for proto Value serialization
Mar 17, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 2 additions & 4 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ require (
github.com/aws/aws-sdk-go-v2/service/dynamodb v1.43.3
github.com/aws/aws-sdk-go-v2/service/s3 v1.79.3
github.com/ghodss/yaml v1.0.0
github.com/gocql/gocql v1.6.0
github.com/gocql/gocql v1.7.0
github.com/google/uuid v1.6.0
github.com/grpc-ecosystem/go-grpc-middleware/providers/prometheus v1.1.0
github.com/mattn/go-sqlite3 v1.14.32
Expand Down Expand Up @@ -102,6 +102,7 @@ require (
github.com/google/flatbuffers v24.3.25+incompatible // indirect
github.com/google/pprof v0.0.0-20250403155104-27863c87afa6 // indirect
github.com/grpc-ecosystem/go-grpc-middleware/v2 v2.1.0 // indirect
github.com/hailocab/go-hostpool v0.0.0-20160125115350-e80d13ce29ed // indirect
github.com/hashicorp/go-version v1.7.0 // indirect
github.com/json-iterator/go v1.1.12 // indirect
github.com/klauspost/asmfmt v1.3.2 // indirect
Expand Down Expand Up @@ -156,7 +157,4 @@ require (
gopkg.in/ini.v1 v1.67.0 // indirect
gopkg.in/yaml.v2 v2.4.0 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
sigs.k8s.io/yaml v1.4.0 // indirect
)

replace github.com/gocql/gocql => github.com/scylladb/gocql v1.15.2
21 changes: 6 additions & 15 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,9 @@ github.com/aws/smithy-go v1.22.2 h1:6D9hW43xKFrRx/tXXfAlIZc4JI+yQe6snnWcQyxSyLQ=
github.com/aws/smithy-go v1.22.2/go.mod h1:irrKGvNn1InZwb2d7fkIRNucdfwR8R+Ts3wxYa/cJHg=
github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM=
github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw=
github.com/bitly/go-hostpool v0.0.0-20171023180738-a3a6125de932 h1:mXoPYz/Ul5HYEDvkta6I8/rnYM5gSdSV2tJ6XbZuEtY=
github.com/bitly/go-hostpool v0.0.0-20171023180738-a3a6125de932/go.mod h1:NOuUCSz6Q9T7+igc/hlvDOUdtWKryOrtFyIVABv/p7k=
github.com/bmizerany/assert v0.0.0-20160611221934-b7ed37b82869 h1:DDGfHa7BWjL4YnC6+E63dPcxHo2sUxDIu8g3QgEJdRY=
github.com/bmizerany/assert v0.0.0-20160611221934-b7ed37b82869/go.mod h1:Ekp36dRnpXw/yCqJaO+ZrUyxD+3VXMFFr56k5XYrpB4=
github.com/bsm/ginkgo/v2 v2.12.0 h1:Ny8MWAHyOepLGlLKYmXG4IEkioBysk6GpaRTLC8zwWs=
github.com/bsm/ginkgo/v2 v2.12.0/go.mod h1:SwYbGRRDovPVboqFv0tPTcG1sN61LM1Z4ARdbAV9g4c=
Expand Down Expand Up @@ -145,6 +147,8 @@ github.com/go-viper/mapstructure/v2 v2.3.0 h1:27XbWsHIqhbdR5TIC911OfYvgSaW93HM+d
github.com/go-viper/mapstructure/v2 v2.3.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM=
github.com/goccy/go-json v0.10.3 h1:KZ5WoDbxAIgm2HNbYckL0se1fHD6rz5j4ywS6ebzDqA=
github.com/goccy/go-json v0.10.3/go.mod h1:oq7eo15ShAhp70Anwd5lgX2pLfOS3QCiwU/PULtXL6M=
github.com/gocql/gocql v1.7.0 h1:O+7U7/1gSN7QTEAaMEsJc1Oq2QHXvCWoF3DFK9HDHus=
github.com/gocql/gocql v1.7.0/go.mod h1:vnlvXyFZeLBF0Wy+RS8hrOdbn0UWsWtdg07XJnFxZ+4=
github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA=
github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q=
github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q=
Expand All @@ -153,12 +157,11 @@ github.com/golang/mock v1.7.0-rc.1 h1:YojYx61/OLFsiv6Rw1Z96LpldJIy31o+UHmwAUMJ6/
github.com/golang/mock v1.7.0-rc.1/go.mod h1:s42URUywIqd+OcERslBJvOjepvNymP31m3q8d/GkuRs=
github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek=
github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps=
github.com/golang/snappy v0.0.3/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
github.com/golang/snappy v0.0.4 h1:yAGX7huGHXlcLOEtBnF4w7FQwA26wojNCwOYAEhLjQM=
github.com/golang/snappy v0.0.4/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
github.com/google/flatbuffers v24.3.25+incompatible h1:CX395cjN9Kke9mmalRoL3d81AtFUxJM+yDthflgJGkI=
github.com/google/flatbuffers v24.3.25+incompatible/go.mod h1:1AeVuKshWv4vARoZatz6mlQ0JxURH0Kv5+zNeJKJCa8=
github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8=
github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU=
github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
Expand All @@ -172,6 +175,7 @@ github.com/grpc-ecosystem/go-grpc-middleware/providers/prometheus v1.1.0 h1:QGLs
github.com/grpc-ecosystem/go-grpc-middleware/providers/prometheus v1.1.0/go.mod h1:hM2alZsMUni80N33RBe6J0e423LB+odMj7d3EMP9l20=
github.com/grpc-ecosystem/go-grpc-middleware/v2 v2.1.0 h1:pRhl55Yx1eC7BZ1N+BBWwnKaMyD8uC+34TLdndZMAKk=
github.com/grpc-ecosystem/go-grpc-middleware/v2 v2.1.0/go.mod h1:XKMd7iuf/RGPSMJ/U4HP0zS2Z9Fh8Ps9a+6X26m/tmI=
github.com/hailocab/go-hostpool v0.0.0-20160125115350-e80d13ce29ed h1:5upAirOpQc1Q53c0bnx2ufif5kANL7bfZWcc6VJWJd8=
github.com/hailocab/go-hostpool v0.0.0-20160125115350-e80d13ce29ed/go.mod h1:tMWxXQ9wFIaZeTI9F+hmhFiGpFmhOHzyShyFUhRm0H4=
github.com/hashicorp/go-version v1.7.0 h1:5tqGy27NaOTB8yJKUZELlFAS/LTKJkrmONwQKeRZfjY=
github.com/hashicorp/go-version v1.7.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA=
Expand All @@ -181,7 +185,6 @@ github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI
github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
github.com/klauspost/asmfmt v1.3.2 h1:4Ri7ox3EwapiOjCki+hw14RyKk201CN4rzyCJRFLpK4=
github.com/klauspost/asmfmt v1.3.2/go.mod h1:AG8TuvYojzulgDAMCnYn50l/5QV3Bs/tp6j0HLHbNSE=
github.com/klauspost/compress v1.17.9/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw=
github.com/klauspost/compress v1.18.0 h1:c/Cqfb0r+Yi+JtIEq73FWXVkRonBlf0CRNYc8Zttxdo=
github.com/klauspost/compress v1.18.0/go.mod h1:2Pp+KzxcywXVXMr50+X0Q/Lsb43OQHYWRCY2AiWywWQ=
github.com/klauspost/cpuid/v2 v2.2.8 h1:+StwCXwm9PdpiEkPyzBXIy+M9KUb4ODm0Zarf1kS5BM=
Expand Down Expand Up @@ -262,8 +265,6 @@ github.com/rogpeppe/go-internal v1.14.1/go.mod h1:MaRKkUm5W0goXpeCfT7UZI6fk/L7L7
github.com/rs/xid v1.6.0/go.mod h1:7XoLgs4eV+QndskICGsho+ADou8ySMSjJKDIan90Nz0=
github.com/rs/zerolog v1.34.0 h1:k43nTLIwcTVQAncfCw4KZ2VY6ukYoZaBPNOE8txlOeY=
github.com/rs/zerolog v1.34.0/go.mod h1:bJsvje4Z08ROH4Nhs5iH600c3IkWhwp44iRc54W6wYQ=
github.com/scylladb/gocql v1.15.2 h1:Vv7iaIyTMMjMtux1INQMi0waH8j8O/ppKS6JcM1vh14=
github.com/scylladb/gocql v1.15.2/go.mod h1:+rInt+HjERaMEYC4N8LocQQEAdREhYKU4QPkE00K5dA=
github.com/secure-systems-lab/go-securesystemslib v0.9.0 h1:rf1HIbL64nUpEIZnjLZ3mcNEL9NBPB0iuVjyxvq3LZc=
github.com/secure-systems-lab/go-securesystemslib v0.9.0/go.mod h1:DVHKMcZ+V4/woA/peqr+L0joiRXbPpQ042GgJckkFgw=
github.com/shirou/gopsutil/v4 v4.25.3 h1:SeA68lsu8gLggyMbmCn8cmp97V1TI9ld9sVzAUcKcKE=
Expand All @@ -282,8 +283,6 @@ github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/
github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU=
github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4=
github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo=
github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA=
github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
github.com/tinylib/msgp v1.2.5 h1:WeQg1whrXRFiZusidTQqzETkRpGjFjcIhW6uqWH09po=
Expand Down Expand Up @@ -387,7 +386,6 @@ golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLL
golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM=
golang.org/x/net v0.0.0-20220526153639-5463443f8c37/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=
golang.org/x/net v0.41.0 h1:vBTly1HeNPEn3wtREYfy4GZ/NECgw2Cnl+nK6Nz3uvw=
golang.org/x/net v0.41.0/go.mod h1:B/K4NNqkfmg07DQYrbwvSluqCJOOXwUjeb/5lOisjbA=
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
Expand All @@ -406,8 +404,6 @@ golang.org/x/sys v0.0.0-20201204225414-ed752295db88/go.mod h1:h1NjWce9XRLGQEsW7w
golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220627191245-f75cf1eec38b/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
Expand All @@ -417,10 +413,8 @@ golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.33.0 h1:q3i8TbbEz+JRD9ywIRlyRAQbM0qF7hu24q3teo2hbuw=
golang.org/x/sys v0.33.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
golang.org/x/text v0.26.0 h1:P42AVeLghgTYr4+xUnTRKDMqpar+PtX7KWuNQL21L8M=
golang.org/x/text v0.26.0/go.mod h1:QK15LZJUUQVJxhz7wXgxSy/CJaTFjd0G+YLonydOVQA=
golang.org/x/time v0.11.0 h1:/bpjEDfN9tkoN/ryeYHnv5hcMlc8ncjMcM4XBk5NWV0=
Expand Down Expand Up @@ -462,6 +456,3 @@ gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
k8s.io/apimachinery v0.32.3 h1:JmDuDarhDmA/Li7j3aPrwhpNBA94Nvk5zLeOge9HH1U=
k8s.io/apimachinery v0.32.3/go.mod h1:GpHVgxoKlTxClKcteaeuF1Ul/lDVb74KpZcxcmLDElE=
sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8=
sigs.k8s.io/yaml v1.4.0 h1:Mk1wCc2gy/F0THH0TAp1QYyJNzRm2KCLy3o5ASXVI5E=
sigs.k8s.io/yaml v1.4.0/go.mod h1:Ejl7/uTz7PSA4eKMyQCUTnhZYNmLIl+5c2lQPGR2BPY=
3 changes: 2 additions & 1 deletion go/embedded/online_features.go
Original file line number Diff line number Diff line change
Expand Up @@ -188,7 +188,8 @@ func (s *OnlineFeatureService) GetOnlineFeatures(
featureService,
entitiesProto,
requestDataProto,
fullFeatureNames)
fullFeatureNames,
serving.UseDefaultsMode_USE_DEFAULTS_OFF)

if err != nil {
return err
Expand Down
9 changes: 7 additions & 2 deletions go/internal/feast/featurestore.go
Original file line number Diff line number Diff line change
Expand Up @@ -193,7 +193,8 @@ func (fs *FeatureStore) GetOnlineFeatures(
featureService *model.FeatureService,
joinKeyToEntityValues map[string]*prototypes.RepeatedValue,
requestData map[string]*prototypes.RepeatedValue,
fullFeatureNames bool) ([]*onlineserving.FeatureVector, error) {
fullFeatureNames bool,
useDefaults serving.UseDefaultsMode) ([]*onlineserving.FeatureVector, error) {
var err error
var requestedFeatureViews []*onlineserving.FeatureViewAndRefs
var requestedOnDemandFeatureViews []*model.OnDemandFeatureView
Expand Down Expand Up @@ -294,6 +295,7 @@ func (fs *FeatureStore) GetOnlineFeatures(
arrowMemory,
numRows,
transformationRequired,
useDefaults,
)
if err != nil {
return err
Expand Down Expand Up @@ -336,6 +338,7 @@ func (fs *FeatureStore) GetOnlineFeatures(
arrowMemory,
numRows,
transformationRequired,
useDefaults,
)
if err != nil {
return err
Expand Down Expand Up @@ -395,7 +398,8 @@ func (fs *FeatureStore) GetOnlineFeaturesRange(
reverseSortOrder bool,
limit int32,
requestData map[string]*prototypes.RepeatedValue,
fullFeatureNames bool) ([]*onlineserving.RangeFeatureVector, error) {
fullFeatureNames bool,
useDefaults serving.UseDefaultsMode) ([]*onlineserving.RangeFeatureVector, error) {

if requestData == nil {
requestData = make(map[string]*prototypes.RepeatedValue)
Expand Down Expand Up @@ -509,6 +513,7 @@ func (fs *FeatureStore) GetOnlineFeaturesRange(
arrowMemory,
numRows,
false,
useDefaults,
)
if err != nil {
return nil, err
Expand Down
9 changes: 6 additions & 3 deletions go/internal/feast/featurestore_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -245,7 +245,7 @@ func testRedisSimpleFeatures(t *testing.T, fs *FeatureStore) {
ctx := context.Background()
mr := fs.onlineStore.(*MockRedis)
mr.On("OnlineRead", mock.Anything, mock.Anything, mock.Anything, mock.Anything).Return(results, nil)
response, err := fs.GetOnlineFeatures(ctx, featureNames, nil, entities, map[string]*types.RepeatedValue{}, true)
response, err := fs.GetOnlineFeatures(ctx, featureNames, nil, entities, map[string]*types.RepeatedValue{}, true, serving.UseDefaultsMode_USE_DEFAULTS_OFF)
require.NoError(t, err)
assert.Len(t, response, 4) // 3 Features + 1 entity = 4 columns (feature vectors) in response
}
Expand All @@ -267,7 +267,7 @@ func testRedisODFVNoTransformationService(t *testing.T, fs *FeatureStore) {
ctx := context.Background()
mr := fs.onlineStore.(*MockRedis)
mr.On("OnlineRead", ctx, mock.Anything, mock.Anything, mock.Anything).Return(nil, nil)
response, err := fs.GetOnlineFeatures(ctx, featureNames, nil, entities, requestData, true)
response, err := fs.GetOnlineFeatures(ctx, featureNames, nil, entities, requestData, true, serving.UseDefaultsMode_USE_DEFAULTS_OFF)
assert.Nil(t, response)
assert.ErrorAs(t, err, &FeastTransformationServiceNotConfigured{})

Expand Down Expand Up @@ -482,6 +482,7 @@ func TestGetOnlineFeaturesRange(t *testing.T) {
0,
nil,
true,
serving.UseDefaultsMode_USE_DEFAULTS_OFF,
)

assert.NoError(t, err)
Expand Down Expand Up @@ -538,7 +539,8 @@ func testGetOnlineFeaturesRange(
reverseSortOrder bool,
limit int32,
requestData map[string]*types.RepeatedValue,
fullFeatureNames bool) ([]*onlineserving.RangeFeatureVector, error) {
fullFeatureNames bool,
useDefaults serving.UseDefaultsMode) ([]*onlineserving.RangeFeatureVector, error) {

sortedFeatureViews := make([]*onlineserving.SortedFeatureViewAndRefs, 0)
for _, view := range sortedViews {
Expand Down Expand Up @@ -608,6 +610,7 @@ func testGetOnlineFeaturesRange(
arrowAllocator,
numRows,
false,
useDefaults,
)
if err != nil {
return nil, err
Expand Down
10 changes: 6 additions & 4 deletions go/internal/feast/model/field.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,15 @@ import (
)

type Field struct {
Name string
Dtype types.ValueType_Enum
Name string
Dtype types.ValueType_Enum
DefaultValue *types.Value
}

func NewFieldFromProto(proto *core.FeatureSpecV2) *Field {
return &Field{
Name: proto.Name,
Dtype: proto.ValueType,
Name: proto.Name,
Dtype: proto.ValueType,
DefaultValue: proto.DefaultValue,
}
}
Loading
Loading