{"record":{"id":"9b230fa17bda5fa4","repo":"apache/seatunnel","slug":"configuration-value-s-overflows-underflows-the-in","errorCode":null,"errorMessage":"Configuration value %s overflows/underflows the integer type.","messagePattern":"Configuration value (.+?) overflows/underflows the integer type\\.","errorType":"validation","errorClass":"java.lang.IllegalArgumentException","httpStatus":null,"severity":"error","filePath":"seatunnel-api/src/main/java/org/apache/seatunnel/api/configuration/util/ConfigUtil.java","lineNumber":132,"sourceCode":"        } else if (Double.class.equals(clazz)) {\n            return (T) convertToDouble(rawValue);\n        } else if (Duration.class.equals(clazz)) {\n            return (T) convertToDuration(rawValue);\n        } else if (Object.class.equals(clazz)) {\n            return (T) rawValue;\n        }\n        throw new IllegalArgumentException(\"Unsupported type: \" + clazz);\n    }\n\n    static Integer convertToInt(Object o) {\n        if (o.getClass() == Integer.class) {\n            return (Integer) o;\n        } else if (o.getClass() == Long.class) {\n            long value = (Long) o;\n            if (value <= Integer.MAX_VALUE && value >= Integer.MIN_VALUE) {\n                return (int) value;\n            } else {\n                throw new IllegalArgumentException(\n                        String.format(\n                                \"Configuration value %s overflows/underflows the integer type.\",\n                                value));\n            }\n        }\n\n        return Integer.parseInt(o.toString());\n    }\n\n    static Long convertToLong(Object o) {\n        if (o.getClass() == Long.class) {\n            return (Long) o;\n        } else if (o.getClass() == Integer.class) {\n            return ((Integer) o).longValue();\n        }\n\n        return Long.parseLong(o.toString());\n    }","sourceCodeStart":114,"sourceCodeEnd":150,"githubUrl":"https://github.com/apache/seatunnel/blob/cf67b549a7a6c35fa0beb12d83c62892427ea919/seatunnel-api/src/main/java/org/apache/seatunnel/api/configuration/util/ConfigUtil.java#L114-L150","documentation":"Thrown from ConfigUtil.convertToInt when the raw value is numeric but lies outside the 32-bit signed integer range (e.g. a long like 99999999999). The guard checks a Long operand against Integer.MIN_VALUE/MAX_VALUE and fails; it fires only on genuine magnitude overflow/underflow, not on non-numeric text (that path throws NumberFormatException instead).","triggerScenarios":"Thrown at seatunnel-api/src/main/java/org/apache/seatunnel/api/configuration/util/ConfigUtil.java:132 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Reduce the configured value so it fits in a 32-bit signed integer","If the value legitimately exceeds int range, declare the option as Long instead of Integer","Verify units — the author may have written bytes where MB was intended, inflating the magnitude"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"cf67b549a7a6c35fa0beb12d83c62892427ea919","analyzedAt":"2026-09-10T21:44:55.265Z","contentChangedAt":"2026-09-10T21:44:55.265Z","schemaVersion":2},"datasetVersion":"2026-09-23T08:17:48.524Z"}