Interface OdysseyReadManager

All Superinterfaces:
AutoCloseable
All Known Subinterfaces:
OdysseyManager
All Known Implementing Classes:
OdysseyIntegrationManager

public interface OdysseyReadManager extends AutoCloseable
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 Type
    Method
    Description
    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.

    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 enrich
      topicNames - topic names to fetch associations for (must be TOPIC resources only)
      principal - the request principal for namespace extraction and token acquisition
      fetchMode - the requested association fetch mode (from the DescribeConfigs tagged field); DEFAULT means no associations are returned, for every caller — a caller that wants associations back must request ASSOCIATIONS_WITHOUT_SCHEMA explicitly
      isClusterLink - 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 OdysseyResult instances