Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore: waku sync full topic support #57

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

SionoiS
Copy link
Contributor

@SionoiS SionoiS commented Mar 3, 2025

update to the Waku sync spec to include full topic support.

@SionoiS SionoiS requested a review from jm-clius March 3, 2025 21:14
@SionoiS SionoiS self-assigned this Mar 3, 2025
Copy link
Contributor

@jm-clius jm-clius left a comment

Choose a reason for hiding this comment

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

LGTM. Comment to address before merging below - we have to be explicit about "topic" as being pubsub topic, content topic or both. Suggestion is to limit spec only to behaviour for pubsub topic, which will allow it to undergo full testing and QA separately to reach draft status while we experiment with content topics in parallel (which IIUC may necessitate more comprehensive storage changes).

The `reconciliation` protocol follows the following heuristic:
1. The requestor chooses a time range to sync.
The `reconciliation` protocol operate on the following heuristic:
1. The requestor chooses a sync range including time, cluster id and topics.
Copy link
Contributor

Choose a reason for hiding this comment

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

Presumably, with "topics" here you refer to both pubsub topics and content topics? We should be explicit about this here and elsewhere, but I wonder if we keep the spec limited to pubsub topics (only)? Even if in implementation we add experimental content topics support, my guess is that we'll mature/test the pubsub topics implementation before validating that it works for content topics. At that point, the spec can be upgraded to draft, while a new raw version can include content topics. If you agree, the suggested change then is to be explicit about "pubsub topic" throughout.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Presumably, with "topics" here you refer to both pubsub topics and content topics?

I agree being explicit is better.

This PR reflects the changes in this waku-org/nwaku#3275
Both should be merged together ounce we have tested the current version (which include shard support).

Since both pubsub and content topic use the exact same mechanism testing separately doesn't make much sense.

Copy link
Contributor

Choose a reason for hiding this comment

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

Not sure I agree, at least in terms of how we verify that this is "production-ready" - the logic might be the same, but the application will be very different. In "normal" use cases, we should see syncing of up to ~10 shards. It would be good to test the upper limit here. In contrast, content topics will have no upper bound and regular use cases would routinely try to sync 100 content topics. For QA to pass on Waku Sync, only the relatively modest use cases for pubsub topics need to work.

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.

2 participants