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 — DynamoDB online_read ignores requested_features parameter · Issue #6058 · feast-dev/feast

DynamoDB online_read ignores requested_features parameter #6058

New issue
Copy link
New issue
Copy link
Closed
#6366
Closed
DynamoDB online_read ignores requested_features parameter#6058
#6366
Copy link
Labels
kind/bugpriority/p2

Description

@abhijeet-dhumal
abhijeet-dhumal
opened on Mar 4, 2026
Issue body actions

Expected Behavior

When calling get_online_features() with a subset of features (e.g., ["fv:feature_a", "fv:feature_b"]), the DynamoDB online store should only fetch those specific features using DynamoDB's ProjectionExpression. This reduces data transfer, lowers latency, and decreases read costs.

Current Behavior

The requested_features parameter is passed through the call chain to online_read() and online_read_async() but is completely ignored. DynamoDB's BatchGetItem fetches all features stored in the values map regardless of what features were requested.

# In dynamodb.py line 559-560
async def online_read_async(
    ...
    requested_features: Optional[List[str]] = None,  # Parameter accepted but unused
)

The BatchGetItem call does not include ProjectionExpression:

# Current implementation (line 619-621)
client.batch_get_item(
    RequestItems=entity_id_batch,  # No ProjectionExpression
)

Steps to reproduce

from feast import FeatureStore

fs = FeatureStore(repo_path=".")

# Request only 2 features out of 200 stored
response = fs.get_online_features(
    features=["my_fv:feature_a", "my_fv:feature_b"],  # Only 2 features
    entity_rows=[{"entity_id": "user_1"}]
)

# Expected: DynamoDB fetches only feature_a, feature_b
# Actual: DynamoDB fetches all 200 features, wastes bandwidth

Specifications

  • Version: 0.60.0 and latest master
  • Platform: Any (tested on OpenShift/Kubernetes)
  • Subsystem: feast.infra.online_stores.dynamodb

Possible Solution

Add ProjectionExpression to BatchGetItem requests when requested_features is specified

Activity

  1. abhijeet-dhumal
    added
    kind/bug
    priority/p2
    on Mar 4, 2026
  2. ntkathole
    added a commit that references this issue on May 6, 2026

    feat(dynamodb): Use ProjectionExpression when requested_features is set

    This issue will close once commit 2eb0cd7 is merged into the 'master' branch.
    2eb0cd7
  3. ntkathole
    added 2 commits that reference this issue on May 14, 2026

    feat(dynamodb): Use ProjectionExpression when requested_features is set

    This issue will close once commit 7cb24c1 is merged into the 'master' branch.
    7cb24c1

    feat(dynamodb): Use ProjectionExpression when requested_features is set

    This issue will close once commit 0adc906 is merged into the 'master' branch.
    0adc906
  4. ntkathole
    closed this as completedin #6366on May 14, 2026
  5. rpathade
    added a commit that references this issue on May 21, 2026

    feat(dynamodb): Use ProjectionExpression when requested_features is set

    This issue will close once commit 04d500c is merged into the 'master' branch.
    04d500c
  6. ntkathole
    added a commit that references this issue on May 23, 2026

    feat: Add enabled/disabled toggle for feature views (#6401)

    This issue will close once commit 5f1fa0d is merged into the 'master' branch.
    5f1fa0d
  7. franciscojavierarceo
    added a commit that references this issue on Jun 13, 2026

    chore(release): release 0.64.0

    9bb73cc
  8. Srihari1192
    added a commit that references this issue on Jun 22, 2026

    chore(release): release 0.64.0

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    kind/bugpriority/p2

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions

      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.