apache/seatunnel · error · IllegalArgumentException

not support this type of bufferType: ${bufferType}

Error message

not support this type of bufferType: ${bufferType}

What it means

EventProcessorFactory.createProcessor selects a LogMiner event processor implementation based on the configured bufferType. If the configured value is not one of the supported types (e.g., 'memory' or the enhanced processor variants), it throws IllegalArgumentException. The bufferType config value is not recognized by this connector version.

Source

Thrown at seatunnel-connectors-v2/connector-cdc/connector-cdc-oracle/src/main/java/org/apache/seatunnel/connectors/seatunnel/cdc/oracle/source/reader/fetch/logminer/EventProcessorFactory.java:106

                    offsetContext,
                    schema,
                    metrics,
                    errorHandler,
                    redoLogSplit);
        } else if (bufferType.equals(OracleConnectorConfig.LogMiningBufferType.INFINISPAN_REMOTE)) {
            return new CDCRemoteInfinispanLogMinerEventProcessor(
                    context,
                    connectorConfig,
                    jdbcConnection,
                    dispatcher,
                    partition,
                    offsetContext,
                    schema,
                    metrics,
                    errorHandler,
                    redoLogSplit);
        } else {
            throw new IllegalArgumentException(
                    "not support this type of bufferType: " + bufferType);
        }
    }

    /**
     * A {@link MemoryLogMinerEventProcessor} with enhanced processRow method to distinguish whether
     * is bounded.
     */
    public static class CDCMemoryLogMinerEventProcessor extends MemoryLogMinerEventProcessor {
        private final IncrementalSplit redoLogSplit;
        private final ErrorHandler errorHandler;

        private ChangeEventSource.ChangeEventSourceContext context;
        private final JdbcSourceEventDispatcher<OraclePartition> dispatcher;

        public CDCMemoryLogMinerEventProcessor(
                ChangeEventSource.ChangeEventSourceContext context,
                OracleConnectorConfig connectorConfig,

View on GitHub (pinned to cf67b549a7)

Solutions

  1. Set bufferType to a supported value (e.g. 'memory') in the Oracle CDC source config
  2. Check the exact accepted values in the connector's Oracle-CDC options documentation for your SeaTunnel version
  3. Correct spelling/case of the configured value
  4. Upgrade the connector if the buffer type you need exists only in a newer release

Example fix

// before
bufferType = "heap"  // IllegalArgumentException
// after
bufferType = "memory"
Defensive patterns

Strategy: validation

Validate before calling

Set<String> supported = Set.of("memory"); // per your connector version's docs
if (!supported.contains(bufferType.toLowerCase())) {
    throw new IllegalArgumentException("bufferType must be one of " + supported + ", got: " + bufferType);
}

Prevention

When it happens

Trigger: Setting oracle-cdc config option bufferType (LogMiner buffer type) to a value other than the supported enum (e.g., a typo like 'in-memory' or 'heap', or a type added in a newer version but running an older connector).

Common situations: Typo in config value; copying config from documentation of a newer SeaTunnel version; case sensitivity mistakes; using a custom buffer type that this connector build does not ship.

Understand the failure class

Background: Invalid enum value errors: "Unknown type", "Invalid scope", "must be one of" — when a string is not on the library's allowed list — this error's family across 23 libraries.

Related errors


AI-assisted analysis of apache/seatunnel@cf67b549a7 (2026-09-10). Data as JSON: /api/errors/a241a003b01939b3. Report an issue: GitHub.