Skip to content

feat: Add Pinecone online store integration - #6585

Open
SIDDHESH1564 wants to merge 11 commits into
feast-dev:masterfrom
SIDDHESH1564:feat/pinecone-online-store
Open

feat: Add Pinecone online store integration#6585
SIDDHESH1564 wants to merge 11 commits into
feast-dev:masterfrom
SIDDHESH1564:feat/pinecone-online-store

Conversation

@SIDDHESH1564

Copy link
Copy Markdown
Contributor

What this PR does / why we need it:

This PR adds Pinecone as a new online store integration for Feast. Pinecone is a managed vector database that enables fast similarity search and retrieval, making it ideal for ML feature serving workloads that involve embeddings and vector-based lookups.

Key changes:

  • Implements PineconeOnlineStore class with full CRUD operations (online_write_batch, online_read, teardown)
  • Adds Pinecone as a configurable online store option via PineconeOnlineStoreConfig
  • Supports namespace-based isolation for multi-tenant environments
  • Handles batch upserts with automatic chunking to respect Pinecone's API limits
  • Adds unit tests and integration test configuration

Which issue(s) this PR fixes:

Fixes #6582

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

  • Requires pinecone-client as an optional dependency (pip install feast[pinecone])
  • Tested against Pinecone Serverless and Pod-based indexes
  • Documentation updated in docs/reference/online-stores/pinecone.md

@SIDDHESH1564
SIDDHESH1564 requested a review from a team as a code owner July 7, 2026 06:06
@SIDDHESH1564
SIDDHESH1564 force-pushed the feat/pinecone-online-store branch from 804ff38 to 020a0e6 Compare July 9, 2026 05:28
@SIDDHESH1564
SIDDHESH1564 force-pushed the feat/pinecone-online-store branch 3 times, most recently from a9607d7 to 0fa28bc Compare July 11, 2026 19:03
@codecov-commenter

codecov-commenter commented Jul 16, 2026

Copy link
Copy Markdown

⚠️ Please install the 'codecov app svg image' to ensure uploads and comments are reliably processed by Codecov.

Codecov Report

❌ Patch coverage is 89.59391% with 41 lines in your changes missing coverage. Please review.
✅ Project coverage is 47.41%. Comparing base (f0bc070) to head (8c1a8c4).

Files with missing lines Patch % Lines
...ra/online_stores/pinecone_online_store/pinecone.py 89.46% 20 Missing and 21 partials ⚠️
❗ Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##           master    #6585      +/-   ##
==========================================
+ Coverage   47.09%   47.41%   +0.32%     
==========================================
  Files         419      422       +3     
  Lines       51878    52272     +394     
  Branches     7525     7613      +88     
==========================================
+ Hits        24430    24786     +356     
- Misses      25700    25716      +16     
- Partials     1748     1770      +22     
Flag Coverage Δ
go-feature-server 30.58% <ø> (ø)
python-unit 48.74% <89.59%> (+0.34%) ⬆️
Files with missing lines Coverage Δ
...ra/online_stores/pinecone_online_store/__init__.py 100.00% <100.00%> (ø)
...necone_online_store/pinecone_repo_configuration.py 100.00% <100.00%> (ø)
sdk/python/feast/repo_config.py 79.03% <ø> (ø)
...ra/online_stores/pinecone_online_store/pinecone.py 89.46% <89.46%> (ø)

... and 1 file with indirect coverage changes


Continue to review full report in Codecov by Harness.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update f0bc070...8c1a8c4. Read the comment docs.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@SIDDHESH1564
SIDDHESH1564 force-pushed the feat/pinecone-online-store branch 3 times, most recently from 3d25634 to 5db79c2 Compare July 18, 2026 18:32
Signed-off-by: Siddhesh Khairnar <khairnarsiddhesh4057@gmail.com>
@SIDDHESH1564
SIDDHESH1564 force-pushed the feat/pinecone-online-store branch from 5db79c2 to 134f76d Compare July 23, 2026 09:17
SIDDHESH1564 and others added 4 commits July 24, 2026 00:48
Signed-off-by: Siddhesh Khairnar <khairnarsiddhesh4057@gmail.com>
Signed-off-by: Siddhesh Khairnar <khairnarsiddhesh4057@gmail.com>
Signed-off-by: Siddhesh Khairnar <khairnarsiddhesh4057@gmail.com>

@jyejare jyejare left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

This PR adds a comprehensive Pinecone online store integration for Feast, including vector similarity search capabilities. The implementation is well-structured with proper error handling, comprehensive tests, and good documentation. However, there are several areas that need improvement including error handling gaps, potential security concerns, and some code quality issues that should be addressed.

Comment thread sdk/python/feast/infra/online_stores/pinecone_online_store/pinecone.py Outdated
Comment thread pyproject.toml Outdated
SIDDHESH1564 and others added 5 commits August 20, 2026 23:29
Signed-off-by: Siddhesh Khairnar <khairnarsiddhesh4057@gmail.com>
Signed-off-by: Siddhesh Khairnar <khairnarsiddhesh4057@gmail.com>
Signed-off-by: Siddhesh Khairnar <khairnarsiddhesh4057@gmail.com>
Signed-off-by: Siddhesh Khairnar <khairnarsiddhesh4057@gmail.com>
@SIDDHESH1564

Copy link
Copy Markdown
Contributor Author

Thanks for the thorough review, @jyejare. I’ve addressed all of the comments in the latest commits (softened the API-key error, upsert/query error handling, metadata size checks, returning match vector values, TimeoutError on index ready wait, safer metadata→proto conversion, docstring on _get_namespace, and pinecone>=5.0,<6.0). Please take another look when you have a chance.

@SIDDHESH1564
SIDDHESH1564 requested a review from jyejare August 21, 2026 15:49
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.

Add Pinecone Online Store Integration

4 participants