Skip to content

fix: Cassandra Entity Key Serialization + Warning #370

Open
zabarn wants to merge 3 commits into
masterfrom
fix/cassandra-entity-key-serialization
Open

fix: Cassandra Entity Key Serialization + Warning #370
zabarn wants to merge 3 commits into
masterfrom
fix/cassandra-entity-key-serialization

Conversation

@zabarn

@zabarn zabarn commented Jun 26, 2026

Copy link
Copy Markdown

Cassandra was hardcoding serialization version 2 at read time, which means anyone who writes to Cassandra with with entity key serialization version 3 is unable to retrieve data.

Also adds a shared warnPotentialEntityKeyVersionMismatch helper (extracted into entitykeyserialization.go) that fires a single deduplicated warning when an online read returns zero data for all requested feature views — a possible indicator of a write/read version mismatch. Covered by new unit tests in both store test files.

What this PR does / why we need it:

Which issue(s) this PR fixes:

Misc

Zach Barnett and others added 3 commits June 26, 2026 13:35
…and Valkey stores

Cassandra was hardcoding serialization version 2, which silently diverged from
the Python default (v3) and from the Valkey store. Both stores now resolve the
version from feature_store.yaml (entity_key_serialization_version, defaulting
to v3 when unset), matching Python's SerializeEntityKey behavior.

Also adds a shared warnPotentialEntityKeyVersionMismatch helper (extracted into
entitykeyserialization.go) that fires a single deduplicated warning when an
online read returns zero data for all requested feature views — a possible
indicator of a write/read version mismatch. Covered by new unit tests in both
store test files.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
The test data parquet files have timestamps from April 2025. When using
materialize-incremental with TTL=0 feature views, Feast defaults to a
1-year lookback window. Once the current date passed April 2026, the
materialization found 0 rows to ingest, causing all Go integration tests
to fail.

Switch from materialize-incremental to materialize with an explicit
start time of 2025-01-01 to ensure test data is always included.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
The test parquet file go/internal/test/feature_repo/driver_stats.parquet
contains timestamps from 2021-2022, not 2025. The previous commit used
2025-01-01 as the start date which excluded all test data.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant