sui-indexer-alt-framework: add chain_id to CheckpointStreamingClient - #25905
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
b69d989 to
bab10c7
Compare
bab10c7 to
9a9c876
Compare
9a9c876 to
c5f81d3
Compare
c5f81d3 to
7223a55
Compare
amnn
left a comment
There was a problem hiding this comment.
Looks good modulo minor comments -- remember to update the release notes!
I'll update the release notes in the change that stores the |
7223a55 to
ef24f28
Compare
This is not correct. The ingestion and streaming clients and services are part of the indexing framework's public API, i.e. they can be used as standalone components, so changes to their signatures are breaking changes for the indexing framework. Update the release notes section on this PR to indicate that breaking change, and migration guidance, and coordinate with @jessiemongeon1 on review, as this PR has now landed without the necessary update to its description, so it is going to trigger notifications/workflows internally. In future, consider any change to a |
) ## Description This PR is a follow up to #25895 and #25905 that 1. stores the `chain_id` per pipeline in the watermark 2. compares the stored `chain_id` to the `chain_id` returned by the streaming and ingestion clients 3. implements the `chain_id` storage for the Postgres and mock store implementations (other impls return the passed in `chain_id` and are no-ops) ## Test plan Adds new `test_chain_id` test cases. --- ## Release notes Check each box that your changes affect. If none of the boxes relate to your changes, release notes aren't required. For each box you select, include information after the relevant heading that describes the impact of your changes that a user might notice and any actions they must take to implement updates. - [ ] Protocol: - [ ] Nodes (Validators and Full nodes): - [ ] gRPC: - [ ] JSON-RPC: - [ ] GraphQL: - [ ] CLI: - [ ] Rust SDK: - [x] Indexing Framework: Add `Connection::init_chain_id` method to store and retrieve `chain_id`.
…25905) ## Description This continues the work started in #25895 by adding a `chain_id` response header that the `CheckpointStreamingClient` reads. The `chain_id` is plumbed through to the `Processor` alongside `checkpoint`. The `processor`'s `Service` currently ignores the `chain_id`. This change depends on #25908. ## Test plan Updated existing unit tests to assert the `chain_id` is passed along with the `checkpoint`. --- ## Release notes Check each box that your changes affect. If none of the boxes relate to your changes, release notes aren't required. For each box you select, include information after the relevant heading that describes the impact of your changes that a user might notice and any actions they must take to implement updates. - [ ] Protocol: - [ ] Nodes (Validators and Full nodes): - [ ] gRPC: - [ ] JSON-RPC: - [ ] GraphQL: - [ ] CLI: - [ ] Rust SDK: - [ ] Indexing Framework:
) ## Description This PR is a follow up to #25895 and #25905 that 1. stores the `chain_id` per pipeline in the watermark 2. compares the stored `chain_id` to the `chain_id` returned by the streaming and ingestion clients 3. implements the `chain_id` storage for the Postgres and mock store implementations (other impls return the passed in `chain_id` and are no-ops) ## Test plan Adds new `test_chain_id` test cases. --- ## Release notes Check each box that your changes affect. If none of the boxes relate to your changes, release notes aren't required. For each box you select, include information after the relevant heading that describes the impact of your changes that a user might notice and any actions they must take to implement updates. - [ ] Protocol: - [ ] Nodes (Validators and Full nodes): - [ ] gRPC: - [ ] JSON-RPC: - [ ] GraphQL: - [ ] CLI: - [ ] Rust SDK: - [x] Indexing Framework: Add `Connection::init_chain_id` method to store and retrieve `chain_id`.
Description
This continues the work started in #25895 by adding a
chain_idresponse header that theCheckpointStreamingClientreads. Thechain_idis plumbed through to theProcessoralongsidecheckpoint.The
processor'sServicecurrently ignores thechain_id.This change depends on #25908.
Test plan
Updated existing unit tests to assert the
chain_idis passed along with thecheckpoint.Release notes
Check each box that your changes affect. If none of the boxes relate to your changes, release notes aren't required.
For each box you select, include information after the relevant heading that describes the impact of your changes that a user might notice and any actions they must take to implement updates.
Processor's receiver to accept newCheckpointEnvelopetype containing thechain_id.