Skip to content

Commit d5dbc8e

Browse files
xaniasddharmisha
authored andcommitted
fix: Make transformation_service_endpoint configuration optional (feast-dev#4880)
* Make transformation_service_endpoint configuration optional Signed-off-by: Dimitris Stafylarakis <[email protected]> * Add custom error for transformation service, implement featurestore unit tests Signed-off-by: Dimitris Stafylarakis <[email protected]> --------- Signed-off-by: Dimitris Stafylarakis <[email protected]>
1 parent 832ce5a commit d5dbc8e

File tree

2 files changed

+29
-34
lines changed

2 files changed

+29
-34
lines changed

go/internal/feast/featurestore.go

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ package feast
33
import (
44
"context"
55
"errors"
6+
<<<<<<< HEAD
67
<<<<<<< HEAD
78

89
"github.com/apache/arrow/go/v17/arrow/memory"
@@ -11,6 +12,11 @@ import (
1112
"fmt"
1213
"github.com/apache/arrow/go/v17/arrow/memory"
1314
>>>>>>> 96da3d849 (feat: Update the go feature server from Expedia code repo. (#4665))
15+
=======
16+
17+
"github.com/apache/arrow/go/v17/arrow/memory"
18+
19+
>>>>>>> 95426bd76 (fix: Make transformation_service_endpoint configuration optional (#4880))
1420
//"gopkg.in/DataDog/dd-trace-go.v1/ddtrace/tracer"
1521

1622
"github.com/feast-dev/feast/go/internal/feast/model"
@@ -67,12 +73,16 @@ func NewFeatureStore(config *registry.RepoConfig, callback transformation.Transf
6773
}
6874

6975
<<<<<<< HEAD
76+
<<<<<<< HEAD
77+
=======
78+
>>>>>>> 95426bd76 (fix: Make transformation_service_endpoint configuration optional (#4880))
7079
var transformationService *transformation.GrpcTransformationService
7180
if transformationServerEndpoint, ok := config.FeatureServer["transformation_service_endpoint"]; ok {
7281
// Use a scalable transformation service like Python Transformation Service.
7382
// Assume the user will define the "transformation_service_endpoint" in the feature_store.yaml file
7483
// under the "feature_server" section.
7584
transformationService, _ = transformation.NewGrpcTransformationService(config, transformationServerEndpoint.(string))
85+
<<<<<<< HEAD
7686
}
7787
=======
7888
// Use a scalable transformation service like Python Transformation Service.
@@ -87,6 +97,10 @@ func NewFeatureStore(config *registry.RepoConfig, callback transformation.Transf
8797
transformationService, _ := transformation.NewGrpcTransformationService(config, transformationServerEndpoint.(string))
8898
>>>>>>> 96da3d849 (feat: Update the go feature server from Expedia code repo. (#4665))
8999

100+
=======
101+
}
102+
103+
>>>>>>> 95426bd76 (fix: Make transformation_service_endpoint configuration optional (#4880))
90104
return &FeatureStore{
91105
config: config,
92106
registry: registry,

go/internal/feast/featurestore_test.go

Lines changed: 15 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -92,13 +92,17 @@ func TestNewFeatureStore(t *testing.T) {
9292
},
9393
}
9494
<<<<<<< HEAD
95+
<<<<<<< HEAD
96+
=======
97+
>>>>>>> 95426bd76 (fix: Make transformation_service_endpoint configuration optional (#4880))
9598
for _, test := range tests {
9699
t.Run(test.name, func(t *testing.T) {
97100
got, err := NewFeatureStore(test.config, nil)
98101
if test.errMessage != "" {
99102
assert.Nil(t, got)
100103
require.Error(t, err)
101104
assert.ErrorContains(t, err, test.errMessage)
105+
<<<<<<< HEAD
102106

103107
} else {
104108
require.NoError(t, err)
@@ -112,43 +116,18 @@ func TestNewFeatureStore(t *testing.T) {
112116
fs, err := NewFeatureStore(&config, nil)
113117
assert.Nil(t, err)
114118
assert.IsType(t, &onlinestore.RedisOnlineStore{}, fs.onlineStore)
119+
=======
120+
>>>>>>> 95426bd76 (fix: Make transformation_service_endpoint configuration optional (#4880))
115121

116-
t.Run("valid config", func(t *testing.T) {
117-
config := &registry.RepoConfig{
118-
Project: "feature_repo",
119-
Registry: getRegistryPath(),
120-
Provider: "local",
121-
OnlineStore: map[string]interface{}{
122-
"type": "redis",
123-
},
124-
FeatureServer: map[string]interface{}{
125-
"transformation_service_endpoint": "localhost:50051",
126-
},
127-
}
128-
fs, err := NewFeatureStore(config, nil)
129-
assert.Nil(t, err)
130-
assert.NotNil(t, fs)
131-
assert.IsType(t, &onlinestore.RedisOnlineStore{}, fs.onlineStore)
132-
assert.NotNil(t, fs.transformationService)
133-
})
134-
135-
t.Run("missing transformation service endpoint", func(t *testing.T) {
136-
config := &registry.RepoConfig{
137-
Project: "feature_repo",
138-
Registry: getRegistryPath(),
139-
Provider: "local",
140-
OnlineStore: map[string]interface{}{
141-
"type": "redis",
142-
},
143-
}
144-
defer func() {
145-
if r := recover(); r == nil {
146-
t.Errorf("The code did not panic")
122+
} else {
123+
require.NoError(t, err)
124+
assert.NotNil(t, got)
125+
assert.IsType(t, test.expectOnlineStoreType, got.onlineStore)
147126
}
148-
}()
149-
NewFeatureStore(config, nil)
150-
})
127+
})
128+
}
151129

130+
<<<<<<< HEAD
152131
t.Run("invalid online store config", func(t *testing.T) {
153132
config := &registry.RepoConfig{
154133
Project: "feature_repo",
@@ -166,6 +145,8 @@ func TestNewFeatureStore(t *testing.T) {
166145
assert.Nil(t, fs)
167146
})
168147
>>>>>>> 96da3d849 (feat: Update the go feature server from Expedia code repo. (#4665))
148+
=======
149+
>>>>>>> 95426bd76 (fix: Make transformation_service_endpoint configuration optional (#4880))
169150
}
170151

171152
type MockRedis struct {

0 commit comments

Comments
 (0)