apache/seatunnel · error · RedisConnectorException

COMMON-26

COMMON-26

Error message

Not support this redis mode

What it means

buildJedis() switches on the configured Redis run mode (single, cluster, sentinel, etc.); when the mode value does not match any supported case it falls to default and throws RedisConnectorException with CommonErrorCode.OPERATION_NOT_SUPPORTED (COMMON-26). The connector only knows how to construct a client for the modes it implements.

Solutions

  1. Set mode to one of the supported values exactly (single, cluster, sentinel — lowercase).
  2. Check the connector docs / RedisBaseOptions for the exact accepted mode strings.
  3. If you need an unsupported mode, use the closest supported one (e.g. single for master-replica with a proxy) or implement/extend the switch.

Example fix

// before
mode = "Standalone"
// after
mode = "single"
Defensive patterns

Strategy: validation

Validate before calling

Set<String> supported = Set.of("single", "cluster", "sentinel");
if (!supported.contains(mode.trim().toLowerCase())) throw new IllegalArgumentException("unsupported mode: " + mode);

Prevention

When it happens

Trigger: buildJedis() (called by jedis()) encounters a RedisBaseOptions.MODE value outside its switch cases — i.e. a mode string other than single/cluster/sentinel, often due to a typo or an uppercase/misspelled value like 'Cluster', 'master-replica', or 'standalone'.

Common situations: Users writing mode = "sentinel" with different capitalization, copying mode names from another connector with richer mode support, or upgrading docs suggesting an unimplemented mode like 'replication'.

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/82a87bd28c3f2ca6. Report an issue: GitHub.

Appendix: source

Thrown at seatunnel-connectors-v2/connector-redis/src/main/java/org/apache/seatunnel/connectors/seatunnel/redis/config/RedisParameters.java:221

                ConnectionPoolConfig connectionPoolConfig = new ConnectionPoolConfig();
                JedisCluster jedisCluster;
                if (StringUtils.isNotBlank(auth)) {
                    jedisCluster =
                            new JedisCluster(
                                    nodes,
                                    JedisCluster.DEFAULT_TIMEOUT,
                                    JedisCluster.DEFAULT_TIMEOUT,
                                    JedisCluster.DEFAULT_MAX_ATTEMPTS,
                                    auth,
                                    connectionPoolConfig);
                } else {
                    jedisCluster = new JedisCluster(nodes);
                }
                JedisWrapper jedisWrapper = new JedisWrapper(jedisCluster);
                return jedisWrapper;
            default:
                // do nothing
                throw new RedisConnectorException(
                        CommonErrorCode.OPERATION_NOT_SUPPORTED, "Not support this redis mode");
        }
    }
}

View on GitHub (pinned to cf67b549a7)