apache/flink · error · java.lang.IllegalArgumentException

No type could be found in node

Error message

No type could be found in node:{}

What it means

Validation sentinel from convertType: after processing all type entries in the node, none produced a TypeInformation (no recognized 'type', 'enum', or 'oneOf' information), so the empty type set is rejected. The node dump shows the schema fragment lacking any usable type declaration.

Solutions

  1. Address the cause reported by the error message: No type could be found in node:the reported value
  2. Verify the inputs, configuration values, and classpath/dependency setup related to this operation, then retry.

Example fix

Correct the condition described ("No type could be found in node:the reported value") and rerun the job or command.
Defensive patterns

Strategy: validation

When it happens

Trigger: Triggered at runtime when the operation fails because: No type could be found in node:the reported value.

Common situations: Commonly caused by misconfiguration, missing dependencies or files, unsupported types or operations, or invalid user input leading to: No type could be found in node:the reported value.


AI-assisted analysis of apache/flink@2f3c205e92 (2026-08-14). Data as JSON: /api/errors/973e7e1f700b8588. Report an issue: GitHub.

Appendix: source

Thrown at flink-formats/flink-json/src/main/java/org/apache/flink/formats/json/JsonRowSchemaConverter.java:226

        // validate no union types or extending
        if (node.has(ALL_OF)
                || node.has(ANY_OF)
                || node.has(NOT)
                || node.has(EXTENDS)
                || node.has(DISALLOW)) {
            throw new IllegalArgumentException(
                    "Union types are such as '"
                            + ALL_OF
                            + "', '"
                            + ANY_OF
                            + "' etc. "
                            + "and extending are not supported yet.");
        }

        // only a type (with null) is supported yet
        final List<TypeInformation<?>> types = new ArrayList<>(typeSet);
        if (types.size() == 0) {
            throw new IllegalArgumentException("No type could be found in node:" + location);
        } else if (types.size() > 2 || (types.size() == 2 && !types.contains(Types.VOID))) {
            throw new IllegalArgumentException(
                    "Union types with more than just a null type are not supported yet.");
        }

        // return the first non-void type or void
        if (types.size() == 2 && types.get(0) == Types.VOID) {
            return types.get(1);
        } else {
            return types.get(0);
        }
    }

    private static TypeInformation<Row> convertObject(
            String location, JsonNode node, JsonNode root) {
        // validate properties
        if (!node.has(PROPERTIES)) {
            return Types.ROW();

View on GitHub (pinned to 2f3c205e92)