Use table PKs for topic keys; add client reconnect#229
Merged
Conversation
Derive topic message keys from table primary keys and improve client reconnection handling. Add TopicPrimaryKeyLookup trait and SchemaRegistryTopicPrimaryKeyLookup, wire an optional primary-key lookup into TopicPublisherService, and use PK columns to extract stable message keys and determine partitioning. Refactor payload handling to cache a JSON map, add extract_primary_key and hash_key helpers, and adjust publishing logic and tests to ensure same-PK rows land in the same partition. On the client side, expose an explicit connect() in the TS SDK, add browser/WASM reconnection scheduling and resume logic (resubscribe on reconnect), update WASM client ping defaults, and add runtime/coverage tests plus a browser resume e2e page. Misc: update related imports/exports and bump Tailwind-related entries in UI package-lock.json.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Derive topic message keys from table primary keys and improve client reconnection handling. Add TopicPrimaryKeyLookup trait and SchemaRegistryTopicPrimaryKeyLookup, wire an optional primary-key lookup into TopicPublisherService, and use PK columns to extract stable message keys and determine partitioning. Refactor payload handling to cache a JSON map, add extract_primary_key and hash_key helpers, and adjust publishing logic and tests to ensure same-PK rows land in the same partition. On the client side, expose an explicit connect() in the TS SDK, add browser/WASM reconnection scheduling and resume logic (resubscribe on reconnect), update WASM client ping defaults, and add runtime/coverage tests plus a browser resume e2e page. Misc: update related imports/exports and bump Tailwind-related entries in UI package-lock.json.
Summary
Describe the change in 1-3 sentences.
Related
What Changed
Validation
List the commands or checks you ran.
# ExampleChecklist
SECURITY.mdanddocs/security/security-checklist.md.Notes
Add rollout notes, screenshots, or follow-up work if needed.