in flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/writer/topic/MetadataListener.java [159:175]
public Optional<TopicMetadata> queryTopicMetadata(String topic) throws PulsarAdminException {
if (isPartition(topic)) {
return Optional.of(new TopicMetadata(topic, NON_PARTITIONED));
}
try {
return topicPartitionCache.get(topic).map(size -> new TopicMetadata(topic, size));
} catch (ExecutionException e) {
Optional<PulsarAdminException> optional =
ExceptionUtils.findThrowable(e, PulsarAdminException.class);
if (optional.isPresent()) {
throw optional.get();
} else {
throw new FlinkRuntimeException(e);
}
}
}