apache/seatunnel · warning

Unsupported auth type

Error message

Unsupported auth type: {}, from {}

What it means

A WARN logged by IngressProtocolHandler.authenticate when the EdgeSocket connector is configured with an auth type other than TOKEN (currently the only supported ingress authentication). The incoming collector connection is immediately rejected with the AUTH_FAILED response code.

Solutions

  1. Set `auth_type = token` in the EdgeSocket server configuration.
  2. Ensure collectors send the matching token auth line after connecting.
  3. Check the EdgeSocketAuthType enum for valid values and fix any typos.
  4. Upgrade SeaTunnel if another auth type is documented for your target version.

Example fix

// before
EdgeSocketOptions.AUTH_TYPE = "basic"
// after
EdgeSocketOptions.AUTH_TYPE = "token"
Defensive patterns

Strategy: validation

Validate before calling

if (!"token".equalsIgnoreCase(config.getAuthType().name())) {
    throw new IllegalArgumentException("EdgeSocket ingress only supports auth_type=token");
}

Prevention

When it happens

Trigger: A collector connects to the EdgeSocket ingress port while `auth_type` in the server config is set to anything other than `token` (e.g. `none`, `basic`, or a typo).

Common situations: Config copied from an example using a different auth scheme; misspelled enum value; forward-compatibility attempt with a not-yet-supported auth type.

Related errors


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

Appendix: source

Thrown at seatunnel-connectors-v2/connector-edge-socket/src/main/java/org/apache/seatunnel/connectors/seatunnel/edgesocket/protocol/IngressProtocolHandler.java:48

import java.security.MessageDigest;
import java.util.Objects;
import java.util.function.BooleanSupplier;

@Slf4j
public class IngressProtocolHandler {

    private final EdgeSocketConfig config;
    private final IncomingRecordHandler handler;

    public IngressProtocolHandler(EdgeSocketConfig config, IncomingRecordHandler handler) {
        this.config = config;
        this.handler = handler;
    }

    public boolean authenticate(IngressChannel channel) throws IOException {
        if (config.getAuthType() != EdgeSocketAuthType.TOKEN) {
            channel.writeLine(EdgeSocketResponseCode.AUTH_FAILED.getCode());
            log.warn(
                    "Unsupported auth type: {}, from {}",
                    config.getAuthType(),
                    channel.remoteAddress());
            return false;
        }
        String authLine;
        try {
            authLine = channel.readLine();
        } catch (SocketTimeoutException timeoutException) {
            channel.writeLine(EdgeSocketResponseCode.AUTH_FAILED.getCode());
            log.warn(
                    "Collector authentication timeout from {}, connection rejected",
                    channel.remoteAddress());
            return false;
        }
        if (authLine == null) {
            channel.writeLine(EdgeSocketResponseCode.AUTH_FAILED.getCode());
            log.warn(

View on GitHub (pinned to cf67b549a7)