poorbarcode commented on code in PR #19737:
URL: https://github.com/apache/pulsar/pull/19737#discussion_r1155329427
##########
pulsar-broker/src/main/java/org/apache/pulsar/broker/service/persistent/PersistentTopic.java:
##########
@@ -429,6 +431,25 @@ public AtomicLong getPendingWriteOps() {
return pendingWriteOps;
}
+ public CompletableFuture<Void> unloadSubscription(String subName) {
+ final PersistentSubscription sub = subscriptions.get(subName);
+ if (sub == null) {
+ return CompletableFuture.failedFuture(new
RestException(Response.Status.NOT_FOUND,
+ String.format("Subscription %s not found", subName)));
+ }
+ if (Compactor.COMPACTION_SUBSCRIPTION.equals(sub.getName())){
+ return CompletableFuture.failedFuture(new
RestException(Response.Status.BAD_REQUEST,
+ "Could not reload the compaction subscription"));
+ }
+ // Fence old subscription -> Rewind cursor -> Replace with a new
subscription.
+ return sub.disconnect().thenAccept(ignore -> {
+ sub.getCursor().rewind();
Review Comment:
No, this operation did this two things:
- recreate the subscription: This will clear all attributes of the
Subscription, which will help resolve the problem of Subscription due to
incorrect attributes quickly.
- rewind cursor
We can't just call it `rewindCursor`
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]