[fix][doc] Clarify subscription and consumer semantics under geo-replication - #1228
Merged
Merged
Conversation
…tion A subscription is local to the cluster in which it is created. Using the same subscription name in another cluster creates a separate, independent subscription with its own cursor, consumers and backlog, and each of them receives its own copy of the topic data. The docs could previously be read as if a single subscription could be actively consumed in several clusters, which Pulsar does not support. - concepts-replication.md: add a "Subscriptions and consumers across clusters" section with an explicit table of what is and is not replicated, explain that consumers in different clusters do not share the workload, and clarify that replicated subscriptions target failover rather than active-active consumption. - concepts-replication.md: clarify the intro example and the active-active replication pattern so that the consumers are no longer described as consuming from a single subscription. - administration-geo.md: rewrite the misleading "subscriptions ... can be transferred between clusters" sentence, and fix the stale #1-way-and-2-way-geo-replication anchors.
…pported versioned docs The contribution guide asks that a documentation change applying to a supported version also update versioned_docs. The misleading description of subscriptions under geo-replication exists in every supported release, so propagate the changes from docs/ to the supported versions with scripts/docs-tool.sh apply_changes_to_versioned_docs (5.0.x, 4.2.x, 4.0.x).
…1.x and 3.x versioned docs These versions are not listed by scripts/docs-tool.sh supported_versions — their active support windows have ended — but their pages are still published on the site and contain the same misleading description of subscriptions under geo-replication. The docs-tool patch applies cleanly to 4.1.x, and to concepts-replication.md of 3.3.x, 3.2.x and 3.1.x. The remaining changes were applied manually where the patch context did not match: - 3.3.x, 3.2.x, 3.1.x: administration-geo.md does not contain the "1-way and 2-way geo-replication" note, so the anchor fix does not apply. - 3.1.x: the image alt text around the intro paragraph differs, so the intro clarification and the new section were inserted manually, preserving the version's own image alt text.
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.
Motivation
The geo-replication documentation can be read as if a single subscription could be actively consumed from several clusters at the same time. Pulsar does not support that: a subscription is local to the cluster in which it is created, and using the same subscription name in another cluster creates a separate, independent subscription that receives its own copy of the topic data. Only the mark-delete position of an opt-in replicated subscription is synchronized, and that feature targets failover, not active-active consumption.
PIP-33 states the behavior explicitly:
The wording that caused the misreading:
concepts-replication.md: "two consumers (C1 and C2) can consume those messages from their clusters" and "consumers can consume all messages from all data centers", both of which suggest one shared subscription spanning clusters.administration-geo.md: "subscriptions cannot only be local to the cluster where the subscriptions are created but also can be transferred between clusters after the replicated subscription is enabled". Subscriptions are never transferred; only the mark-delete position is replicated.administration-geo.md: "All messages produced in any of the three clusters are delivered to all subscriptions in other clusters", which also implies that subscriptions in a cluster do not consume locally produced messages.Changes
docs/concepts-replication.mddocs/administration-geo.md#1-way-and-2-way-geo-replication→#1-way-unidirectional-and-2-way-bidirectional-geo-replication.Versioned docs
The misleading text exists in released versions, so the change is propagated to the versioned docs:
5.0.x,4.2.x,4.0.x— applied withscripts/docs-tool.sh apply_changes_to_versioned_docs.4.1.x,3.3.x,3.2.x,3.1.x— these are no longer in the supported version list, but their pages are still published and contain the same text. The patch applies cleanly to4.1.x; for the 3.x versionsadministration-geo.mddoes not contain the 1-way/2-way note (so the anchor hunk does not apply) and3.1.xuses different image alt text, so the remaining changes were applied manually while preserving each version's own text.The added section is byte-identical in
docs/and in all seven versioned docs.Verification
.rej/.origfiles left behind.yarn buildwas not run locally (dependencies not installed); a preview of the new table would be worth a look.