Class GuardrailValidator

java.lang.Object
io.debezium.pipeline.GuardrailValidator

public class GuardrailValidator extends Object
Validator for guardrail limits across different connector types. Provides common logic for validating that the number of captured tables/collections does not exceed configured guardrail limits.
Author:
Debezium Community
  • Field Details

    • LOGGER

      private static final org.slf4j.Logger LOGGER
    • connectorConfig

      private final CommonConnectorConfig connectorConfig
    • tableFilters

      private final RelationalTableFilters tableFilters
    • storeOnlyCapturedTables

      private final Boolean storeOnlyCapturedTables
    • storeOnlyCapturedDatabases

      private final Boolean storeOnlyCapturedDatabases
  • Constructor Details

    • GuardrailValidator

      public GuardrailValidator(CommonConnectorConfig connectorConfig)
      Constructor for collection-based connectors (e.g., MongoDB).

      Use this constructor for connectors that don't use relational table filters.

      Parameters:
      connectorConfig - The connector configuration
    • GuardrailValidator

      public GuardrailValidator(CommonConnectorConfig connectorConfig, DatabaseSchema<?> schema)
      Constructor for relational database connectors.
      Parameters:
      connectorConfig - The connector configuration
      schema - The database schema
  • Method Details

    • validate

      public void validate(Set<TableId> allTableIds)
      Validates guardrail limits for table-based connectors.
      Parameters:
      allTableIds - The set of all table IDs to validate
    • validate

      public void validate(Collection<String> collectionNames)
      Validates guardrail limits for collection-based connectors (e.g., MongoDB). This overload works with collection names instead of TableId objects.
      Parameters:
      collectionNames - The list of collection names to validate