Skip to content

Conversation

@rodesai
Copy link
Contributor

@rodesai rodesai commented May 7, 2025

This patch adds wiring for taking checkpoints from ResponsiveKafkaStreams

  • We implement the rs3 grpc client apis for taking checkpoints using the rs3 client
  • The rs3 grpc client returns a PssCheckpoint, which the kv table aggregates into a TableCheckpoint. This type is then serialized and returned by KVTable.checkpoint
  • ResponsiveStoreRegistry is extended to support taking checkpoints from registered stores

- integrate with rs3 protocol for checkpoint creation
- rs3 store takes checkpoints
- can take a checkpoint from registration
@JsonProperty("storeId") final UUID storeId,
@JsonProperty("pssId") final int pssId,
@JsonProperty("checkpoint") StorageCheckpoint checkpoint,
@JsonProperty("slateDbStorageCheckpoint")
Copy link
Contributor Author

@rodesai rodesai May 7, 2025

Choose a reason for hiding this comment

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

I'll clean this up in a follow-up. My original patch had it structured so there would be a separate field for different potential storage types rather than a type hierarchy. I left the slatedb field in since I have a bunch of checkpoints lying around that I still want to be able to deserialize, and at the same time would like to start rebasing my snapshot branch on this pr (and later prs) as they get merged to main

Copy link
Contributor

@hachikuji hachikuji left a comment

Choose a reason for hiding this comment

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

LGTM. Just a few small suggestions.

@rodesai rodesai merged commit 339c583 into main May 10, 2025
1 check passed
@rodesai rodesai deleted the add-wiring-for-creating-checkpoints branch May 10, 2025 04:29
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