public Optional queryTopicMetadata()

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);
            }
        }
    }