Skip to content

Conversation

@keelerm84
Copy link
Member

@keelerm84 keelerm84 commented Oct 29, 2025

Note

Introduces SelectorStore and threads selectors through polling/streaming APIs, FDv2, and tests, including SSE basis query support.

  • Core API (datasystem):
    • Add SelectorStore protocol and require selector().
    • Change Initializer.fetch and Synchronizer.sync signatures to accept SelectorStore.
  • Polling (datasourcev2/polling.py):
    • Update PollingDataSource.fetch/sync/_poll to use ss.selector() when requesting data.
    • Propagate selector to Requester.fetch; no-change/full/changes handling unchanged.
  • Streaming (datasourcev2/streaming.py):
    • Update SseClientBuilder to take (Config, SelectorStore) and build client with dynamic query_params using selector basis.
    • Update StreamingDataSource.sync to pass SelectorStore to client builder.
  • FDv2 orchestration:
    • Pass store as SelectorStore to initializers and synchronizers; consume updates unchanged.
  • Test data source (TestDataV2 impl):
    • Conform to new interfaces: fetch(ss), sync(ss), stop() (renamed from close).
  • Tests/Mocks:
    • Add MockSelectorStore and update all tests to pass a SelectorStore.
    • Adjust streaming builder/test helpers for new signatures and basis query behavior.

Written by Cursor Bugbot for commit a6b2b3d. This will update automatically on new commits. Configure here.

@keelerm84 keelerm84 requested a review from a team as a code owner October 29, 2025 17:07
@keelerm84 keelerm84 force-pushed the mk/sdk-1513/contract-tests branch from e55dca5 to 9c3cd49 Compare October 30, 2025 20:41
@keelerm84 keelerm84 force-pushed the mk/sdk-1521/selector-threading branch from b57273e to bf82505 Compare October 30, 2025 20:42
Base automatically changed from mk/sdk-1513/contract-tests to feat/fdv2 November 5, 2025 17:41
items_decoded[key] = kind.decode(item)
all_decoded[kind] = items_decoded
try:
self._lock.rlock()
Copy link
Member

Choose a reason for hiding this comment

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

Write lock?

Copy link
Member

Choose a reason for hiding this comment

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

Same question for all the mutations.

Copy link
Member Author

Choose a reason for hiding this comment

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

That had been fixed in a previous PR. Just needed rebasing.

Copy link
Member

@kinyoklion kinyoklion left a comment

Choose a reason for hiding this comment

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

Locking questions inline.

@keelerm84 keelerm84 force-pushed the mk/sdk-1521/selector-threading branch from bf82505 to a6b2b3d Compare November 5, 2025 18:32
@keelerm84 keelerm84 requested a review from kinyoklion November 5, 2025 18:33
@keelerm84 keelerm84 merged commit 397fab2 into feat/fdv2 Nov 5, 2025
14 checks passed
@keelerm84 keelerm84 deleted the mk/sdk-1521/selector-threading branch November 5, 2025 18:40
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.

3 participants