{"record":{"id":"a572eea6488783b6","repo":"apache/seatunnel","slug":"unsupported-operation-a572ee","errorCode":"UNSUPPORTED_OPERATION","errorMessage":"Unsupported handleSplitRequest: %d","messagePattern":"Unsupported handleSplitRequest: (.+?)","errorType":"error_code","errorClass":"InfluxdbConnectorException","httpStatus":null,"severity":"error","filePath":"seatunnel-connectors-v2/connector-influxdb/src/main/java/org/apache/seatunnel/connectors/seatunnel/influxdb/source/InfluxDBSourceSplitEnumerator.java","lineNumber":254,"sourceCode":"    }\n\n    @Override\n    public void open() {\n        // nothing to do\n    }\n\n    @Override\n    public void close() {}\n\n    @Override\n    public void notifyCheckpointComplete(long checkpointId) {\n        // nothing to do\n\n    }\n\n    @Override\n    public void handleSplitRequest(int subtaskId) {\n        throw new InfluxdbConnectorException(\n                CommonErrorCodeDeprecated.UNSUPPORTED_OPERATION,\n                String.format(\"Unsupported handleSplitRequest: %d\", subtaskId));\n    }\n}\n","sourceCodeStart":236,"sourceCodeEnd":259,"githubUrl":"https://github.com/apache/seatunnel/blob/cf67b549a7a6c35fa0beb12d83c62892427ea919/seatunnel-connectors-v2/connector-influxdb/src/main/java/org/apache/seatunnel/connectors/seatunnel/influxdb/source/InfluxDBSourceSplitEnumerator.java#L236-L259","documentation":"InfluxDBSourceSplitEnumerator.handleSplitRequest() is intentionally not supported: this enumerator assigns splits proactively instead of on-demand. Any reader sending a split request causes an UNSUPPORTED_OPERATION error naming the subtask id.","triggerScenarios":"A SourceReader calls handleSplitRequest(subtaskId) while the enumerator uses static/eagerly-assigned splits.","commonSituations":"Custom reader modifications requesting splits dynamically, or framework behavior that issues split requests against enumerators that do not support on-demand assignment.","solutions":["Do not rely on handleSplitRequest; rely on the enumerator's addSplits/assigned splits mechanism.","If on-demand split assignment is required, modify the enumerator to register subtask requests instead of throwing."],"exampleFix":"// before\npublic void handleSplitRequest(int subtaskId) {\n    throw new InfluxdbConnectorException(...);\n}\n// after\npublic void handleSplitRequest(int subtaskId) {\n    // register request and reply via the addSplits backpressure flow\n    pendingRequests.add(subtaskId);\n}","handlingStrategy":"try-catch","validationCode":null,"typeGuard":null,"tryCatchPattern":"try {\n    enumerator.handleSplitRequest(subtaskId);\n} catch (InfluxdbConnectorException e) {\n    // expected for this enumerator; do not request splits dynamically\n    log.debug(\"Split requests unsupported; splits are assigned eagerly\", e);\n}","preventionTips":["Do not call handleSplitRequest on eager-assignment enumerators.","Rely on addSplits/assigned splits from the enumerator."],"tags":["influxdb","source","split-assignment"],"backgroundTag":"unsupported-operation","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"}