Skip to content

Conversation

@kinyoklion
Copy link
Member

@kinyoklion kinyoklion commented Jan 15, 2026

Note

Introduces a streaming data path and tightens error/shutdown semantics.

  • New streaming synchronizer: StreamingSynchronizerImpl maintains an SSE connection via EventSource, lazily starts on next(), queues CHANGE_SET/status results, restarts on GOODBYE, and maps HTTP/network/serialization/internal errors to appropriate INTERRUPTED vs TERMINAL_ERROR. Injects selector (version/state) and optional filter query params per request; proper shutdown via close().
  • Polling refinements: PollingSynchronizerImpl cancels the scheduled task and completes shutdownFuture on TERMINAL_ERROR (avoids re-queuing), and next() now races queued results vs shutdown. PollingBase maps INTERNAL_ERROR subtypes (MISSING_PAYLOAD/JSON_ERROR) to INVALID_DATA.
  • API docs: Clarifies Initializer.run() single-use intent; updates Synchronizer state diagram (e.g., GOODBYE returns to RUNNING) and guidance on calling next() after terminal states.
  • Tests: Adds StreamingSynchronizerImplTest covering changesets, recoverable/non-recoverable HTTP errors, network/invalid data, reconnection, selector/filter query params, heartbeats, goodbye, and shutdown; extends polling tests for internal error kind mapping and continued polling behavior.

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

tanderson-ld and others added 30 commits January 12, 2026 11:47
…unchdarkly/java-core into rlamb/add-fdv2-data-source-interfaces
@kinyoklion kinyoklion changed the base branch from main to rlamb/add-fdv2-data-source-interfaces January 15, 2026 00:02
Base automatically changed from rlamb/add-fdv2-data-source-interfaces to main January 15, 2026 23:31
case NONE:
break;
case INTERNAL_ERROR: {
FDv2ProtocolHandler.FDv2ActionInternalError internalErrorAction = (FDv2ProtocolHandler.FDv2ActionInternalError) res;
Copy link
Member Author

Choose a reason for hiding this comment

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

Gap identified working on streaming.

@launchdarkly launchdarkly deleted a comment from cursor bot Jan 16, 2026
@launchdarkly launchdarkly deleted a comment from cursor bot Jan 16, 2026
@launchdarkly launchdarkly deleted a comment from cursor bot Jan 16, 2026
@launchdarkly launchdarkly deleted a comment from cursor bot Jan 16, 2026
@kinyoklion
Copy link
Member Author

bugbot review

@kinyoklion kinyoklion closed this Jan 16, 2026
@kinyoklion kinyoklion reopened this Jan 16, 2026
@kinyoklion kinyoklion marked this pull request as ready for review January 16, 2026 00:58
@kinyoklion kinyoklion requested a review from a team as a code owner January 16, 2026 00:58
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