{"record":{"id":"18122d4e3c68ac90","repo":"apache/flink","slug":"cyclic-references-are-not-supported","errorCode":null,"errorMessage":"Cyclic references are not supported:{}","messagePattern":"Cyclic references are not supported:(.+?)","errorType":"validation","errorClass":"java.lang.IllegalArgumentException","httpStatus":null,"severity":"error","filePath":"flink-formats/flink-json/src/main/java/org/apache/flink/formats/json/JsonRowSchemaConverter.java","lineNumber":364,"sourceCode":"                        \"Invalid encoding '\" + node.asText() + \"' in node: \" + location);\n        }\n    }\n\n    private static JsonNode resolveReference(String ref, JsonNode origin, JsonNode root) {\n        if (!ref.startsWith(\"#\")) {\n            throw new IllegalArgumentException(\n                    \"Only JSON schemes with simple references \"\n                            + \"(one indirection in the same document) are supported yet. But was: \"\n                            + ref);\n        }\n        final String path = ref.substring(1);\n        final JsonNode foundNode = root.at(path);\n        if (foundNode.isMissingNode()) {\n            throw new IllegalArgumentException(\"Could not find reference: \" + ref);\n        }\n        // prevent obvious cyclic references\n        if (foundNode == origin) {\n            throw new IllegalArgumentException(\"Cyclic references are not supported:\" + ref);\n        }\n        return foundNode;\n    }\n\n    private static TypeInformation<?>[] convertTypes(\n            String location, JsonNode arrayNode, JsonNode root) {\n        final TypeInformation<?>[] types = new TypeInformation[arrayNode.size()];\n        final Iterator<JsonNode> elements = arrayNode.elements();\n        int i = 0;\n        while (elements.hasNext()) {\n            final TypeInformation<?> elementType =\n                    convertType(location + '[' + i + ']', elements.next(), root);\n            types[i] = elementType;\n            i += 1;\n        }\n        return types;\n    }\n}","sourceCodeStart":346,"sourceCodeEnd":382,"githubUrl":"https://github.com/apache/flink/blob/2f3c205e9266cb30240eb7f4fdab15cad629a70f/flink-formats/flink-json/src/main/java/org/apache/flink/formats/json/JsonRowSchemaConverter.java#L346-L382","documentation":"Error \"Cyclic references are not supported:{}\" thrown in apache/flink.","triggerScenarios":"Triggered at runtime when the operation fails because: Cyclic references are not supported:the reported value.","commonSituations":"Commonly caused by misconfiguration, missing dependencies or files, unsupported types or operations, or invalid user input leading to: Cyclic references are not supported:the reported value.","solutions":["Address the cause reported by the error message: Cyclic references are not supported:the reported value","Verify the inputs, configuration values, and classpath/dependency setup related to this operation, then retry."],"exampleFix":"Correct the condition described (\"Cyclic references are not supported:the reported value\") 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"}