Interface OdysseyReadManager
- All Superinterfaces:
AutoCloseable
- All Known Subinterfaces:
OdysseyManager
- All Known Implementing Classes:
OdysseyIntegrationManager
Read-only Odyssey integration operations used by the broker server.
Broker servers require only the read path (DescribeConfigs enrichment) and must not
have access to write operations (CreateTopics, DeleteTopics). Depend on this interface
rather than OdysseyIntegrationManager to enforce that constraint at compile time.
- See Also:
-
Method Summary
Modifier and TypeMethodDescriptionhandleDescribeConfigsWithOdyssey(org.apache.kafka.common.message.DescribeConfigsResponseData kafkaResponse, List<String> topicNames, org.apache.kafka.common.security.auth.KafkaPrincipal principal, org.apache.kafka.common.ConfluentAssociationFetchMode fetchMode, boolean isClusterLink) Handles DescribeConfigs requests with Odyssey integration for K1.Methods inherited from interface AutoCloseable
close
-
Method Details
-
handleDescribeConfigsWithOdyssey
CompletableFuture<DescribeConfigsOdysseyResult> handleDescribeConfigsWithOdyssey(org.apache.kafka.common.message.DescribeConfigsResponseData kafkaResponse, List<String> topicNames, org.apache.kafka.common.security.auth.KafkaPrincipal principal, org.apache.kafka.common.ConfluentAssociationFetchMode fetchMode, boolean isClusterLink) Handles DescribeConfigs requests with Odyssey integration for K1.Fetches schema associations from SR for all requested TOPIC resources and injects them as config entries into the Kafka response. Kafka configs are always returned regardless of SR errors.
Namespace is extracted internally from the principal.
- Parameters:
kafkaResponse- the standard Kafka DescribeConfigs response to enrichtopicNames- topic names to fetch associations for (must be TOPIC resources only)principal- the request principal for namespace extraction and token acquisitionfetchMode- the requested association fetch mode (from the DescribeConfigs tagged field);DEFAULTmeans no associations are returned, for every caller — a caller that wants associations back must requestASSOCIATIONS_WITHOUT_SCHEMAexplicitlyisClusterLink- whether the request originated from a cluster link (present cluster-link id header). No longer affects the result — retained on the signature for compatibility with existing callers- Returns:
- CompletableFuture with the enriched result; never completes exceptionally —
SR errors are captured per-topic as failed
OdysseyResultinstances
-