{"record":{"id":"41646059c9d7e7fd","repo":"apache/seatunnel","slug":"configuration-value-s-overflows-underflows-the-fl","errorCode":null,"errorMessage":"Configuration value %s overflows/underflows the float type.","messagePattern":"Configuration value (.+?) overflows/underflows the float 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":162,"sourceCode":"            return (Long) o;\n        } else if (o.getClass() == Integer.class) {\n            return ((Integer) o).longValue();\n        }\n\n        return Long.parseLong(o.toString());\n    }\n\n    static Float convertToFloat(Object o) {\n        if (o.getClass() == Float.class) {\n            return (Float) o;\n        } else if (o.getClass() == Double.class) {\n            double value = ((Double) o);\n            if (value == 0.0\n                    || (value >= Float.MIN_VALUE && value <= Float.MAX_VALUE)\n                    || (value >= -Float.MAX_VALUE && value <= -Float.MIN_VALUE)) {\n                return (float) value;\n            } else {\n                throw new IllegalArgumentException(\n                        String.format(\n                                \"Configuration value %s overflows/underflows the float type.\",\n                                value));\n            }\n        }\n\n        return Float.parseFloat(o.toString());\n    }\n\n    static Double convertToDouble(Object o) {\n        if (o.getClass() == Double.class) {\n            return (Double) o;\n        } else if (o.getClass() == Float.class) {\n            return ((Float) o).doubleValue();\n        }\n\n        return Double.parseDouble(o.toString());\n    }","sourceCodeStart":144,"sourceCodeEnd":180,"githubUrl":"https://github.com/apache/seatunnel/blob/cf67b549a7a6c35fa0beb12d83c62892427ea919/seatunnel-api/src/main/java/org/apache/seatunnel/api/configuration/util/ConfigUtil.java#L144-L180","documentation":"Thrown from ConfigUtil.convertToFloat when a Double operand falls outside the float-representable range: the check allows 0.0 and values within ±Float.MIN_VALUE..Float.MAX_VALUE and rejects everything else as overflow/underflow. It fires on magnitude problems only (e.g. 1e100); non-numeric text fails elsewhere with NumberFormatException.","triggerScenarios":"Thrown at seatunnel-api/src/main/java/org/apache/seatunnel/api/configuration/util/ConfigUtil.java:162 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Use a value within the float range (roughly ±3.4e38)","If higher precision or range is needed, declare the option as Double instead of Float","Check for a units mistake that made the value astronomically large"],"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"}