apache/beam · error · IllegalStateException

There is no Kafka read implementation that supports every co

Error message

There is no Kafka read implementation that supports every configured property! Not supported implementations with the associated properties: 

What it means

KafkaIO evaluates all known read implementations (legacy, SDF unbounded, SDF bounded via check) against the configured properties. getCompatibility throws IllegalStateException when every implementation is disqualified, meaning no read implementation can honor the current configuration combination.

Source

Thrown at sdks/java/io/kafka/src/main/java/org/apache/beam/sdk/io/kafka/KafkaIOReadImplementationCompatibility.java:228

      final Object currentValue;
      try {
        currentValue = KafkaIOReadProperties.findGetterMethod(property).invoke(read);
      } catch (Exception e) {
        throw new RuntimeException("Should not happen", e);
      }
      if (Objects.equals(defaultValue, currentValue)) {
        // the defaultValue is always allowed,
        // so there would be no compatibility issue
        continue;
      }
      // the property has got a value, so we can't allow the not-supported implementations
      for (KafkaIOReadImplementation notSupportedImplementation : notSupportedImplementations) {
        notSupportedImplementationsWithProperties.put(notSupportedImplementation, property);
      }
    }
    if (EnumSet.allOf(KafkaIOReadImplementation.class)
        .equals(notSupportedImplementationsWithProperties.keySet())) {
      throw new IllegalStateException(
          "There is no Kafka read implementation that supports every configured property! "
              + "Not supported implementations with the associated properties: "
              + notSupportedImplementationsWithProperties);
    }
    return new KafkaIOReadImplementationCompatibilityResult(
        notSupportedImplementationsWithProperties);
  }

  static class KafkaIOReadImplementationCompatibilityResult {
    private final Multimap<KafkaIOReadImplementation, KafkaIOReadProperties> notSupported;

    private KafkaIOReadImplementationCompatibilityResult(
        Multimap<KafkaIOReadImplementation, KafkaIOReadProperties>
            notSupportedImplementationsWithAssociatedProperties) {
      this.notSupported = notSupportedImplementationsWithAssociatedProperties;
    }

    /**

View on GitHub (pinned to 12126d8942)

Solutions

  1. Read the exception's map of implementation→unsupported property and drop or replace the offending property.
  2. Upgrade/downgrade Beam to a version whose SDF read supports the property you need.
  3. Simplify configuration (e.g. remove unsupported offset/admin options) to a combination supported by the SDF-based read.
Defensive patterns

Strategy: try-catch

Try / catch

try {
  pipeline.run();
} catch (IllegalStateException e) {
  if (e.getMessage() != null && e.getMessage().contains("no Kafka read implementation")) {
    // inspect the implementation->property map in the message and drop offending options
  }
  throw e;
}

Prevention

When it happens

Trigger: Combining Kafka read options such that no implementation supports them all — e.g. setting offset consumption + admin-based features with a configuration the SDF implementations reject while legacy is disabled — during expandWithReadImplementations.

Common situations: Upgrading Beam where legacy read was removed and some property (e.g. setReadBackLineage, unconsumed partitions) is unsupported by the SDF read; exotic option combinations in a config-driven pipeline.

Understand the failure class

Background: Conflicting config options: "cannot be used together" — configuration validation errors across open-source libraries — this error's family across 162 libraries.

Related errors


AI-assisted analysis of apache/beam@12126d8942 (2026-09-13). Data as JSON: /api/errors/df0fd6a00b093d06. Report an issue: GitHub.