GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — feat: Add SingleStore online store support for feature view versioning by antznette1 · Pull Request #6195 · feast-dev/feast

Conversation

@antznette1

@antznette1 antznette1 commented Mar 29, 2026 •
edited by devin-ai-integration Bot
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown
Contributor

What this PR does / why we need it:

This PR adds online feature view versioning support for the SingleStore online store when registry.enable_online_feature_view_versioning is enabled.

It updates SingleStore’s table routing to read/write from versioned namespaces (e.g. {project}_{feature_view}_v{N}) so version-qualified refs like driver_stats@v1:avg_daily_trips can be served from the correct underlying online table. It also updates the global online-store guard to allow version-qualified reads for SingleStore (and still reject unsupported stores) when versioning is enabled.

Additionally, it adds an integration/universal test covering SingleStore version-qualified reads.

Which issue(s) this PR fixes:

Fixes #6181

Checks

  • I've made sure the tests are passing.
  • My commits are signed off (git commit -s)
  • My PR title follows conventional commits format

Testing Strategy

  • Unit tests
  • Integration tests
  • Manual tests
  • Testing is not required for this change

Misc

Notes:

  • Version-qualified reads are only allowed when registry.enable_online_feature_view_versioning is enabled; otherwise VersionedOnlineReadNotSupported is raised.
  • The new SingleStore integration/universal test may be skipped locally if the universal SingleStore environment is not part of the parametrized test matrix (it should run in CI where SingleStore is enabled).

Open with Devin

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
@antznette1
antznette1 requested review from a team as code owners March 29, 2026 22:42
@antznette1
antznette1 requested review from ejscribner, franciscojavierarceo and shuchu and removed request for a team March 29, 2026 22:42
devin-ai-integration[bot]

This comment was marked as resolved.

Sign in to view

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@antznette1
antznette1 force-pushed the singlestore-online-versioning branch from 88a6e5b to 0de8845 Compare March 30, 2026 15:26
@antznette1

antznette1 commented Apr 1, 2026

Copy link
Copy Markdown
Contributor Author

Good day @franciscojavierarceo
I have created the PR, awaiting your review.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

ntkathole
ntkathole reviewed Apr 1, 2026
View reviewed changes
Comment thread sdk/python/feast/infra/online_stores/singlestore_online_store/singlestore.py Resolved

Uh oh!

There was an error while loading. Please reload this page.

ntkathole
ntkathole reviewed Apr 1, 2026
View reviewed changes
Comment thread sdk/python/feast/infra/online_stores/singlestore_online_store/singlestore.py Resolved

Uh oh!

There was an error while loading. Please reload this page.

ntkathole
ntkathole reviewed Apr 1, 2026
View reviewed changes
Comment thread sdk/python/feast/infra/online_stores/online_store.py Resolved

Uh oh!

There was an error while loading. Please reload this page.

ntkathole
ntkathole reviewed Apr 1, 2026
View reviewed changes
Comment thread sdk/python/feast/errors.py Resolved

Uh oh!

There was an error while loading. Please reload this page.

devin-ai-integration[bot]

This comment was marked as resolved.

Sign in to view

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

devin-ai-integration[bot]

This comment was marked as resolved.

Sign in to view

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@antznette1
antznette1 requested a review from ntkathole April 2, 2026 21:41
@ntkathole
ntkathole force-pushed the singlestore-online-versioning branch from ef34979 to 857d237 Compare April 3, 2026 05:00
@ntkathole ntkathole added the ok-to-test label Apr 3, 2026
ntkathole
ntkathole reviewed Apr 3, 2026
View reviewed changes
Comment thread sdk/python/feast/infra/online_stores/singlestore_online_store/singlestore.py Resolved

Uh oh!

There was an error while loading. Please reload this page.

devin-ai-integration[bot]

This comment was marked as resolved.

Sign in to view

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

devin-ai-integration[bot]

This comment was marked as resolved.

Sign in to view

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

devin-ai-integration[bot]

This comment was marked as resolved.

Sign in to view

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

devin-ai-integration[bot]

This comment was marked as resolved.

Sign in to view

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@antznette1
antznette1 force-pushed the singlestore-online-versioning branch from a197d10 to 6cd6eb7 Compare April 5, 2026 09:15
ntkathole
ntkathole reviewed Apr 5, 2026
View reviewed changes
Comment thread infra/feast-operator/Dockerfile Resolved

Uh oh!

There was an error while loading. Please reload this page.

@antznette1
antznette1 requested a review from ntkathole April 6, 2026 20:46
@ntkathole

ntkathole commented Apr 7, 2026

Copy link
Copy Markdown
Member

@antznette1 Can you please take a look at #6193, it has shared helper added now for table name and pattern for deleting all versions in teardown ?

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@antznette1
antznette1 force-pushed the singlestore-online-versioning branch from c646964 to b06b1ce Compare April 8, 2026 11:29
devin-ai-integration[bot]

This comment was marked as resolved.

Sign in to view

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

devin-ai-integration[bot]

This comment was marked as resolved.

Sign in to view

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

antznette1 and others added 7 commits April 16, 2026 13:07
@antznette1 @devin-ai-integration
Update sdk/python/feast/infra/online_stores/singlestore_online_store/…
dc3a739
…singlestore.py

Co-authored-by: devin-ai-integration[bot] <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Signed-off-by: antznette1 <[email protected]>
@antznette1
Stabilize CI: pgvector readiness + operator base images
1c7ca08
Signed-off-by: antznette1 <[email protected]>
@antznette1
Make metrics import resilient when prometheus_client is unavailable
48bfb8c
Signed-off-by: antznette1 <[email protected]>
@antznette1
Revert operator Dockerfile changes
e03179e
Signed-off-by: antznette1 <[email protected]>
@antznette1
Fix MySQL/Postgres versioned online read support
546c9fd
Signed-off-by: antznette1 <[email protected]>
@antznette1
Fix MySQL batch write entity key serialization
d1fcc89
Signed-off-by: antznette1 <[email protected]>
@antznette1
Run format-files pre-commit fixes
8a64179
Signed-off-by: antznette1 <[email protected]>
@antznette1
antznette1 force-pushed the singlestore-online-versioning branch from f97a997 to 8a64179 Compare April 16, 2026 12:18
devin-ai-integration[bot]

This comment was marked as resolved.

Sign in to view

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@antznette1
fix: restore versioned naming helper and enable versioned reads
fa2be47
Signed-off-by: antznette1 <[email protected]>
@antznette1

antznette1 commented Apr 19, 2026

Copy link
Copy Markdown
Contributor Author

@ntkathole , Please can I get a review to this PR?

@antznette1 Sure, please fix the conflicts and the tests

Conflicts has been fixed, can we proceed?

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@antznette1

antznette1 commented Apr 21, 2026

Copy link
Copy Markdown
Contributor Author

@ntkathole , Please can I get a review to my PR?

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

ntkathole
ntkathole reviewed Apr 22, 2026
View reviewed changes
Comment thread infra/feast-operator/Dockerfile Resolved

Uh oh!

There was an error while loading. Please reload this page.

@ntkathole

ntkathole commented Apr 22, 2026 •
edited
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown
Member

@antznette1 Can you please take a look at #6193, it has shared helper added now for table name and pattern for deleting all versions in teardown ?

@antznette1 I mentioned this to see if we really need registry object passing down the calls or can be resolved with the same approach that PR to handle version cleanup ?

def teardown(self, config, tables, entities, registry=None) -> None:
    project = config.project
    versioning = config.registry.enable_online_feature_view_versioning
    with self._get_cursor(config) as cur:
        for table in tables:
            if not versioning:
                _drop_table_and_index(cur, project, table, enable_versioning=False)
            else:
                # Discover all versioned tables from DB — same as MySQL
                base = f"{project}_{table.name}"
                cur.execute(
                    "SELECT table_name FROM information_schema.tables "
                    "WHERE table_schema = DATABASE() AND "
                    "(table_name = %s OR table_name REGEXP %s)",
                    (base, f"^{base}_v[0-9]+$"),
                )
                for (name,) in cur.fetchall():
                    cur.execute(f"DROP INDEX IF EXISTS {_quote_identifier(name + '_ek')} "
                                f"ON {_quote_identifier(name)}")
                    cur.execute(f"DROP TABLE IF EXISTS {_quote_identifier(name)}")
All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@antznette1
Fix operator Go toolset + refactor SingleStore teardown
a1bef33
Signed-off-by: antznette1 <[email protected]>
@antznette1

antznette1 commented Apr 23, 2026

Copy link
Copy Markdown
Contributor Author

@ntkathole
I have done the requested fixes

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

franciscojavierarceo
franciscojavierarceo reviewed Apr 23, 2026
View reviewed changes
Comment thread sdk/python/feast/infra/online_stores/singlestore_online_store/singlestore.py Resolved

Uh oh!

There was an error while loading. Please reload this page.

franciscojavierarceo
franciscojavierarceo reviewed Apr 23, 2026
View reviewed changes
Comment thread sdk/python/tests/universal/feature_repos/universal/online_store/postgres.py Resolved

Uh oh!

There was an error while loading. Please reload this page.

franciscojavierarceo
franciscojavierarceo reviewed Apr 23, 2026
View reviewed changes
Comment thread sdk/python/feast/metrics.py Resolved

Uh oh!

There was an error while loading. Please reload this page.

franciscojavierarceo
franciscojavierarceo reviewed Apr 23, 2026
View reviewed changes
Comment thread sdk/python/feast/infra/online_stores/hybrid_online_store/hybrid_online_store.py Resolved

Uh oh!

There was an error while loading. Please reload this page.

franciscojavierarceo
franciscojavierarceo reviewed Apr 23, 2026
View reviewed changes

@franciscojavierarceo franciscojavierarceo left a comment

Copy link
Copy Markdown
Member

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can you elaborate on why some of the changes are included in this PR? feels like maybe some other items snuck in. 😅

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
@antznette1
Revert unrelated changes; restore SingleStore _table_id helper
08d73df
Signed-off-by: antznette1 <[email protected]>
@antznette1

antznette1 commented Apr 23, 2026 •
edited
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown
Contributor Author

can you elaborate on why some of the changes are included in this PR? feels like maybe some other items snuck in. 😅

My bad.
The few unrelated changes snuck into this PR while I was iterating locally (PGVector container wait tweaks, metrics import fallback, and a HybridOnlineStore teardown refactor). They’re not required for SingleStore versioned online store support, so I’ll reverted them locally to keep this PR focused strictly on SingleStore versioning + teardown behavior. I’ll push the revert commit now.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@antznette1
antznette1 requested review from franciscojavierarceo and ntkathole April 23, 2026 22:24
devin-ai-integration[bot]

This comment was marked as resolved.

Sign in to view

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@antznette1
Fix HybridOnlineStore teardown registry forwarding
301f599
Signed-off-by: antznette1 <[email protected]>
devin-ai-integration[bot]
devin-ai-integration Bot reviewed Apr 24, 2026
View reviewed changes

@devin-ai-integration devin-ai-integration Bot left a comment

Copy link
Copy Markdown
Contributor

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Devin Review found 1 new potential issue.

View 19 additional findings in Devin Review.

Open in Devin Review

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
Comment thread sdk/python/feast/infra/online_stores/singlestore_online_store/singlestore.py Resolved

Uh oh!

There was an error while loading. Please reload this page.

@antznette1

antznette1 commented Apr 26, 2026

Copy link
Copy Markdown
Contributor Author

Good day,
please, I am still waiting for a review on this PR

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@antznette1

antznette1 commented Apr 30, 2026

Copy link
Copy Markdown
Contributor Author

Hello

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

@devin-ai-integration devin-ai-integration[bot] devin-ai-integration[bot] left review comments
@shuchu shuchu Awaiting requested review from shuchu shuchu is a code owner automatically assigned from feast-dev/maintainers
@ejscribner ejscribner Awaiting requested review from ejscribner ejscribner is a code owner automatically assigned from feast-dev/maintainers
@franciscojavierarceo franciscojavierarceo Awaiting requested review from franciscojavierarceo
@ntkathole ntkathole Awaiting requested review from ntkathole

Uh oh!

There was an error while loading. Please reload this page.

Assignees

No one assigned

Labels

ok-to-test

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

Add feature view versioning support to SingleStore online store

Uh oh!

There was an error while loading. Please reload this page.

3 participants

@antznette1 @ntkathole @franciscojavierarceo
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.