heesung-sn commented on code in PR #15944:
URL: https://github.com/apache/pulsar/pull/15944#discussion_r1199274764


##########
pulsar-broker/src/main/java/org/apache/pulsar/broker/admin/impl/PersistentTopicsBase.java:
##########
@@ -565,6 +565,34 @@ protected CompletableFuture<PartitionedTopicMetadata> 
internalGetPartitionedMeta
                 });
     }
 
+    protected CompletableFuture<Map<String, String>> 
internalGetPropertiesAsync(boolean authoritative) {
+        return validateTopicOwnershipAsync(topicName, authoritative)
+                .thenCompose(__ -> validateTopicOperationAsync(topicName, 
TopicOperation.GET_METADATA))
+                .thenCompose(__ -> {
+                    if (topicName.isPartitioned()) {
+                        return getPropertiesAsync();
+                    }
+                    return 
pulsar().getBrokerService().fetchPartitionedTopicMetadataAsync(topicName)
+                            .thenCompose(metadata -> {
+                                if (metadata.partitions == 0) {
+                                    return getPropertiesAsync();
+                                }
+                                return 
CompletableFuture.completedFuture(metadata.properties);
+                            });
+                });
+    }
+
+    private CompletableFuture<Map<String, String>> getPropertiesAsync() {
+        return 
pulsar().getBrokerService().getTopicIfExists(topicName.toString())
+                .thenApply(opt -> {
+                    if (!opt.isPresent()) {
+                        throw new RestException(Status.NOT_FOUND,
+                                
getTopicNotFoundErrorMessage(topicName.toString()));
+                    }
+                    return ((PersistentTopic) 
opt.get()).getManagedLedger().getProperties();

Review Comment:
   https://github.com/apache/pulsar/pull/12818/files introduced 
ManagedLedgerConfig.properties
   
https://github.com/apache/pulsar/pull/12818/files#diff-c917471bc697b80ff5e8eb5de212597c527e756ea49694c7fbbabacbf2b9752cR76.
   However, we are returning ManagedLedgerImpl.propertiesMap here.
   
   Why do we have two properties in two different places?
   
   



-- 
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]

Reply via email to