{"record":{"id":"beb12a3172587086","repo":"apache/flink","slug":"unsupported-type-of-sink-please-use-datastreamv2s","errorCode":null,"errorMessage":"Unsupported type of sink, please use DataStreamV2SinkUtils to wrap a sink-v2 sink first.","messagePattern":"Unsupported type of sink, please use DataStreamV2SinkUtils to wrap a sink-v2 sink first\\.","errorType":"validation","errorClass":"UnsupportedOperationException","httpStatus":null,"severity":"error","filePath":"flink-datastream/src/main/java/org/apache/flink/datastream/impl/utils/StreamUtils.java","lineNumber":545,"sourceCode":"                        stateDesc,\n                        internalWindowFunction.getAllowedLateness());\n        return StreamUtils.getOneInputKeyedTransformation(\n                \"TwoOutput-Window\",\n                inputStream,\n                outType1,\n                windowProcessOperator,\n                keySelector,\n                keyType);\n    }\n\n    /** Add sink operator to the input stream. */\n    public static <T> DataStreamV2SinkTransformation<T, T> addSinkOperator(\n            AbstractDataStream<T> inputStream, Sink<T> sink, TypeInformation<T> typeInformation) {\n        // read the output type of the input Transform to coax out errors about MissingTypeInfo\n        inputStream.getTransformation().getOutputType();\n\n        if (!(sink instanceof WrappedSink)) {\n            throw new UnsupportedOperationException(\n                    \"Unsupported type of sink, please use DataStreamV2SinkUtils to wrap a sink-v2 sink first.\");\n        }\n\n        org.apache.flink.api.connector.sink2.Sink<T> innerSink =\n                ((WrappedSink<T>) sink).getWrappedSink();\n\n        DataStreamV2SinkTransformation<T, T> sinkTransformation =\n                new DataStreamV2SinkTransformation<>(\n                        inputStream,\n                        innerSink,\n                        typeInformation,\n                        \"Sink\",\n                        inputStream.getEnvironment().getParallelism(),\n                        false);\n        inputStream.getEnvironment().addOperator(sinkTransformation);\n        return sinkTransformation;\n    }\n","sourceCodeStart":527,"sourceCodeEnd":563,"githubUrl":"https://github.com/apache/flink/blob/2f3c205e9266cb30240eb7f4fdab15cad629a70f/flink-datastream/src/main/java/org/apache/flink/datastream/impl/utils/StreamUtils.java#L527-L563","documentation":"Error \"Unsupported type of sink, please use DataStreamV2SinkUtils to wrap a sink-v2 sink first.\" thrown in apache/flink.","triggerScenarios":"Triggered at runtime when the operation fails because: Unsupported type of sink, please use DataStreamV2SinkUtils to wrap a sink-v2 sink first.","commonSituations":"Commonly caused by misconfiguration, missing dependencies or files, unsupported types or operations, or invalid user input leading to: Unsupported type of sink, please use DataStreamV2SinkUtils to wrap a sink-v2 sink first.","solutions":["Address the cause reported by the error message: Unsupported type of sink, please use DataStreamV2SinkUtils to wrap a sink-v2 sink first.","Verify the inputs, configuration values, and classpath/dependency setup related to this operation, then retry."],"exampleFix":"Correct the condition described (\"Unsupported type of sink, please use DataStreamV2SinkUtils to wrap a sink-v2 sink first.\") and rerun the job or command.","handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"2f3c205e9266cb30240eb7f4fdab15cad629a70f","analyzedAt":"2026-08-14T08:48:24.518Z","schemaVersion":2},"datasetVersion":"2026-08-14T10:17:34.591Z"}