AnonHxy commented on code in PR #19013:
URL: https://github.com/apache/pulsar/pull/19013#discussion_r1061389171
##########
pulsar-broker/src/main/java/org/apache/pulsar/broker/admin/impl/PersistentTopicsBase.java:
##########
@@ -2758,54 +2758,59 @@ private PositionImpl calculatePositionAckSet(boolean
isExcluded, int batchSize,
return seekPosition;
}
- protected void internalGetMessageById(AsyncResponse asyncResponse, long
ledgerId, long entryId,
- boolean authoritative) {
- // will redirect if the topic not owned by current broker
- validateTopicOwnershipAsync(topicName, authoritative)
- .thenCompose(__ -> validateTopicOperationAsync(topicName,
TopicOperation.PEEK_MESSAGES))
- .thenCompose(__ -> {
- CompletableFuture<Void> ret;
- if (topicName.isGlobal()) {
- ret =
validateGlobalNamespaceOwnershipAsync(namespaceName);
- } else {
- ret = CompletableFuture.completedFuture(null);
- }
- return ret;
- })
- .thenCompose(__ -> getTopicReferenceAsync(topicName))
- .thenAccept(topic -> {
- ManagedLedgerImpl ledger =
- (ManagedLedgerImpl) ((PersistentTopic)
topic).getManagedLedger();
- ledger.asyncReadEntry(new PositionImpl(ledgerId, entryId),
- new AsyncCallbacks.ReadEntryCallback() {
- @Override
- public void
readEntryFailed(ManagedLedgerException exception,
- Object ctx) {
- asyncResponse.resume(new
RestException(exception));
- }
+ protected CompletableFuture<Response> internalGetMessageById(long
ledgerId, long entryId, boolean authoritative) {
+ CompletableFuture<Void> future;
+ if (topicName.isGlobal()) {
+ future = validateGlobalNamespaceOwnershipAsync(namespaceName);
+ } else {
+ future = CompletableFuture.completedFuture(null);
+ }
+ return future.thenCompose(__ -> {
+ if (!topicName.isPartitioned()) {
Review Comment:
What if `topicName.isPartitioned()` is true?
--
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]