{"record":{"id":"4c6c30fce854cbf4","repo":"apache/seatunnel","slug":"unsupported-data-type-4c6c30","errorCode":"UNSUPPORTED_DATA_TYPE","errorMessage":"UnSupport redisDataType,only support string,list,hash,set,zset","messagePattern":"UnSupport redisDataType,only support string,list,hash,set,zset","errorType":"error_code","errorClass":"RedisConnectorException","httpStatus":null,"severity":"error","filePath":"seatunnel-connectors-v2/connector-redis/src/main/java/org/apache/seatunnel/connectors/seatunnel/redis/source/RedisSourceReader.java","lineNumber":184,"sourceCode":"            return;\n        }\n        if (RedisDataType.STRING.equals(dataType) || RedisDataType.KEY.equals(dataType)) {\n            redisRecordReader.pollStringToNext(keys, output);\n            return;\n        }\n        if (RedisDataType.LIST.equals(dataType)) {\n            redisRecordReader.pollListToNext(keys, output);\n            return;\n        }\n        if (RedisDataType.SET.equals(dataType)) {\n            redisRecordReader.pollSetToNext(keys, output);\n            return;\n        }\n        if (RedisDataType.ZSET.equals(dataType)) {\n            redisRecordReader.pollZsetToNext(keys, output);\n            return;\n        }\n        throw new RedisConnectorException(\n                CommonErrorCode.UNSUPPORTED_DATA_TYPE,\n                \"UnSupport redisDataType,only support string,list,hash,set,zset\");\n    }\n\n    /**\n     * Create a record reader for the given table configuration.\n     *\n     * @param tableConfig Table configuration\n     * @return RedisRecordReader\n     */\n    private RedisRecordReader createRecordReader(RedisTableConfig tableConfig) {\n        DeserializationSchema<SeaTunnelRow> deserializationSchema =\n                tableConfig.getDeserializationSchema();\n        TablePath tablePath = tableConfig.getTablePath();\n\n        if (Boolean.TRUE.equals(tableConfig.getReadKeyEnabled())) {\n            return new KeyedRecordReader(\n                    this.redisParameters,","sourceCodeStart":166,"sourceCodeEnd":202,"githubUrl":"https://github.com/apache/seatunnel/blob/cf67b549a7a6c35fa0beb12d83c62892427ea919/seatunnel-connectors-v2/connector-redis/src/main/java/org/apache/seatunnel/connectors/seatunnel/redis/source/RedisSourceReader.java#L166-L202","documentation":"RedisSourceReader.pollNext reads records by dispatching to a RedisRecordReader based on the table's RedisDataType. If the data type is not string, list, hash, set, or zset, no reader branch exists and the reader throws RedisConnectorException with UNSUPPORTED_DATA_TYPE.","triggerScenarios":"A Redis source table is configured with a redis_data_type outside the supported set (or resolves to null); processTable drives pollNext and the dispatch chain ends in the throw.","commonSituations":"Typo in redis_data_type (e.g. 'bitmap', 'stream'); a data type supported by another Redis connector version but not this one; null data type from incomplete table config.","solutions":["Set redis_data_type to string, list, hash, set, or zset in the source table config","Verify the table config key spelling and that table parsing populated the data type","If the type is needed, add a poll branch and a corresponding record reader implementation"],"exampleFix":"// before\nredis_data_type = \"stream\"\n// after\nredis_data_type = \"list\"","handlingStrategy":"validation","validationCode":"if (!Set.of(\"string\",\"list\",\"hash\",\"set\",\"zset\").contains(tableCfg.get(\"redis_data_type\"))) throw new IllegalArgumentException(\"Unsupported redis_data_type for source\");","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Mirror source and sink data-type validation","Unit-test each table config before deployment","Log the resolved RedisDataType per table at source init"],"tags":["redis","source","data-type","poll"],"backgroundTag":"unsupported-enum-value","analyzedSha":"cf67b549a7a6c35fa0beb12d83c62892427ea919","analyzedAt":"2026-09-10T21:44:55.265Z","contentChangedAt":"2026-09-10T21:44:55.265Z","schemaVersion":2},"datasetVersion":"2026-09-14T11:17:12.474Z"}