Skip to content

Conversation

@YassinNouh21
Copy link
Contributor

What this PR does / why we need it:

This PR fixes the import error when using HybridOnlineStore with the shorthand type configuration in feature_store.yaml.

The Problem:
When users configure the HybridOnlineStore using type: hybrid_online_store.HybridOnlineStore (as shown in the documentation), they get the error:

FeastModuleImportError: Could not import module 'hybrid_online_store' while attempting to load class 'HybridOnlineStoreConfig'

Root Causes:

  1. Missing __init__.py in the hybrid_online_store package directory
  2. No "hybrid" shorthand entry in ONLINE_STORE_CLASS_FOR_TYPE mapping (unlike all other online stores like redis, bigtable, cassandra, etc.)
  3. The HybridOnlineStoreConfig.type used non-standard Literal values instead of the shorthand pattern

Changes:

  • Add missing __init__.py to hybrid_online_store package
  • Add "hybrid" entry to ONLINE_STORE_CLASS_FOR_TYPE in repo_config.py
  • Update HybridOnlineStoreConfig.type Literal to use standard "hybrid" shorthand
  • Update documentation to use type: hybrid

After this fix, users can configure:

online_store:
  type: hybrid
  routing_tag: team
  online_stores:
    - type: bigtable
      conf: ...

Which issue(s) this PR fixes:

Fixes #5630

Misc

  • All unit tests pass (make lint-python, make format-python, pytest)
  • Tested YAML config loading with the new type: hybrid shorthand

This fixes the import error when using HybridOnlineStore with the
shorthand type configuration in feature_store.yaml.

Changes:
- Add missing __init__.py to hybrid_online_store package
- Add "hybrid" entry to ONLINE_STORE_CLASS_FOR_TYPE in repo_config.py
- Update HybridOnlineStoreConfig type Literal to use standard "hybrid" shorthand
- Update documentation to use type: hybrid

Signed-off-by: yassinnouh21 <[email protected]>
@YassinNouh21 YassinNouh21 force-pushed the fix/hybrid-online-store-import-5630 branch 3 times, most recently from f41ab82 to fc6b866 Compare January 4, 2026 19:18
The data source types test validates that Python ONLINE_STORE_CLASS_FOR_TYPE
matches the Go operator's ValidOnlineStoreDBStorePersistenceTypes. This adds
the hybrid type to both v1 and v1alpha1 API versions.

Signed-off-by: yassinnouh21 <[email protected]>
@YassinNouh21 YassinNouh21 force-pushed the fix/hybrid-online-store-import-5630 branch from fc6b866 to c6a858c Compare January 4, 2026 19:22
@YassinNouh21
Copy link
Contributor Author

@franciscojavierarceo ALL done we are good to go

@franciscojavierarceo franciscojavierarceo merged commit 678589b into feast-dev:master Jan 5, 2026
20 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Could not import module 'hybrid_online_store'

2 participants