Visitar URL original
feat: Add hybrid to ValidOfflineStoreDBStorePersistenceTypes for HybridOfflineStore support by sanskar-singh-2403 · Pull Request #6707 · feast-dev/feast · GitHub
Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
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
Next Next commit
feat: Add hybrid to ValidOfflineStoreDBStorePersistenceTypes for Hybr…
…idOfflineStore support

The Feast SDK supports HybridOfflineStore, which routes offline operations to
different backends based on each FeatureView's batch_source, but the operator's
FeatureStore CRD did not allow type: hybrid in the offline store persistence
enum, blocking configuration via the CR.

Mirrors the online store fix in #5810:
- Register hybrid in OFFLINE_STORE_CLASS_FOR_TYPE so the type resolves to
  HybridOfflineStore (the SDK map previously had this only for the online store).
- Add hybrid to the offline DB store enum and ValidOfflineStoreDBStorePersistenceTypes
  in both api/v1 and api/v1alpha1, and regenerate the CRD manifests
  (config/crd/bases, dist/install.yaml, bundle/manifests).
- Update the offline hybrid doc to use the short type: hybrid form.

Fixes #6701

Signed-off-by: Sanskar Singh <sanskarsinghty1234@gmail.com>
  • Loading branch information
sanskar-singh-2403 committed Aug 5, 2026
commit 739703c9b61896277adc3fcc16d44f5c0f3fa1df
4 changes: 2 additions & 2 deletions .secrets.baseline

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion docs/reference/offline-stores/hybrid.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ project: my_feature_repo
registry: data/registry.db
provider: local
offline_store:
type: hybrid_offline_store.HybridOfflineStore
type: hybrid
offline_stores:
- type: spark
conf:
Expand Down
3 changes: 2 additions & 1 deletion infra/feast-operator/api/v1/featurestore_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -528,7 +528,7 @@ var ValidOfflineStoreFilePersistenceTypes = []string{
// OfflineStoreDBStorePersistence configures the DB store persistence for the offline store service
type OfflineStoreDBStorePersistence struct {
// Type of the persistence type you want to use.
// +kubebuilder:validation:Enum=snowflake.offline;bigquery;redshift;spark;postgres;trino;athena;mssql;couchbase.offline;clickhouse;ray;oracle
// +kubebuilder:validation:Enum=snowflake.offline;bigquery;redshift;spark;postgres;trino;athena;mssql;couchbase.offline;clickhouse;ray;oracle;hybrid
Type string `json:"type"`
// Data store parameters should be placed as-is from the "feature_store.yaml" under the secret key. "registry_type" & "type" fields should be removed.
SecretRef corev1.LocalObjectReference `json:"secretRef"`
Expand All @@ -549,6 +549,7 @@ var ValidOfflineStoreDBStorePersistenceTypes = []string{
"clickhouse",
"ray",
"oracle",
"hybrid",
}

// OnlineStore configures the online store service
Expand Down
3 changes: 2 additions & 1 deletion infra/feast-operator/api/v1alpha1/featurestore_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -337,7 +337,7 @@ var ValidOfflineStoreFilePersistenceTypes = []string{
// OfflineStoreDBStorePersistence configures the DB store persistence for the offline store service
type OfflineStoreDBStorePersistence struct {
// Type of the persistence type you want to use.
// +kubebuilder:validation:Enum=snowflake.offline;bigquery;redshift;spark;postgres;trino;athena;mssql;couchbase.offline;clickhouse;ray
// +kubebuilder:validation:Enum=snowflake.offline;bigquery;redshift;spark;postgres;trino;athena;mssql;couchbase.offline;clickhouse;ray;hybrid
Type string `json:"type"`
// Data store parameters should be placed as-is from the "feature_store.yaml" under the secret key. "registry_type" & "type" fields should be removed.
SecretRef corev1.LocalObjectReference `json:"secretRef"`
Expand All @@ -357,6 +357,7 @@ var ValidOfflineStoreDBStorePersistenceTypes = []string{
"couchbase.offline",
"clickhouse",
"ray",
"hybrid",
}

// OnlineStore configures the online store service
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1881,6 +1881,7 @@ spec:
- clickhouse
- ray
- oracle
- hybrid
type: string
required:
- secretRef
Expand Down Expand Up @@ -8211,6 +8212,7 @@ spec:
- clickhouse
- ray
- oracle
- hybrid
type: string
required:
- secretRef
Expand Down Expand Up @@ -13771,6 +13773,7 @@ spec:
- couchbase.offline
- clickhouse
- ray
- hybrid
type: string
required:
- secretRef
Expand Down Expand Up @@ -18292,6 +18295,7 @@ spec:
- couchbase.offline
- clickhouse
- ray
- hybrid
type: string
required:
- secretRef
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1881,6 +1881,7 @@ spec:
- clickhouse
- ray
- oracle
- hybrid
type: string
required:
- secretRef
Expand Down Expand Up @@ -8211,6 +8212,7 @@ spec:
- clickhouse
- ray
- oracle
- hybrid
type: string
required:
- secretRef
Expand Down Expand Up @@ -13771,6 +13773,7 @@ spec:
- couchbase.offline
- clickhouse
- ray
- hybrid
type: string
required:
- secretRef
Expand Down Expand Up @@ -18292,6 +18295,7 @@ spec:
- couchbase.offline
- clickhouse
- ray
- hybrid
type: string
required:
- secretRef
Expand Down
4 changes: 4 additions & 0 deletions infra/feast-operator/dist/install.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -1889,6 +1889,7 @@ spec:
- clickhouse
- ray
- oracle
- hybrid
type: string
required:
- secretRef
Expand Down Expand Up @@ -8219,6 +8220,7 @@ spec:
- clickhouse
- ray
- oracle
- hybrid
type: string
required:
- secretRef
Expand Down Expand Up @@ -13779,6 +13781,7 @@ spec:
- couchbase.offline
- clickhouse
- ray
- hybrid
type: string
required:
- secretRef
Expand Down Expand Up @@ -18300,6 +18303,7 @@ spec:
- couchbase.offline
- clickhouse
- ray
- hybrid
type: string
required:
- secretRef
Expand Down
1 change: 1 addition & 0 deletions sdk/python/feast/repo_config.py
Original file line number Diff line number Diff line change
Expand Up @@ -108,6 +108,7 @@
"clickhouse": "feast.infra.offline_stores.contrib.clickhouse_offline_store.clickhouse.ClickhouseOfflineStore",
"ray": "feast.infra.offline_stores.contrib.ray_offline_store.ray.RayOfflineStore",
"oracle": "feast.infra.offline_stores.contrib.oracle_offline_store.oracle.OracleOfflineStore",
"hybrid": "feast.infra.offline_stores.hybrid_offline_store.HybridOfflineStore",
}

FEATURE_SERVER_CONFIG_CLASS_FOR_TYPE = {
Expand Down
Loading