{"record":{"id":"a85b5ca87ad07bc7","repo":"apache/pulsar","slug":"e-getmessage-a85b5c","errorCode":null,"errorMessage":"e.getMessage()","messagePattern":"e\\.getMessage\\(\\)","errorType":"console","errorClass":"TypeConversionException","httpStatus":null,"severity":"error","filePath":"pulsar-cli-utils/src/main/java/org/apache/pulsar/cli/converters/picocli/ByteUnitToIntegerConverter.java","lineNumber":32,"sourceCode":" * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied.  See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\npackage org.apache.pulsar.cli.converters.picocli;\n\nimport static org.apache.pulsar.cli.converters.ByteUnitUtil.validateSizeString;\nimport picocli.CommandLine.ITypeConverter;\nimport picocli.CommandLine.TypeConversionException;\n\npublic class ByteUnitToIntegerConverter implements ITypeConverter<Integer> {\n    @Override\n    public Integer convert(String value) throws Exception {\n        try {\n            long l = validateSizeString(value);\n            return Math.toIntExact(l);\n        } catch (Exception e) {\n            throw new TypeConversionException(e.getMessage());\n        }\n    }\n}\n","sourceCodeStart":14,"sourceCodeEnd":36,"githubUrl":"https://github.com/apache/pulsar/blob/820761864ed8e2a7d2e52dd9763ad2ae117c1395/pulsar-cli-utils/src/main/java/org/apache/pulsar/cli/converters/picocli/ByteUnitToIntegerConverter.java#L14-L36","documentation":"ByteUnitToIntegerConverter.convert wraps the underlying IllegalArgumentException from validateSizeString into picocli's TypeConversionException, forwarding the original message (hence 'e.getMessage()') when the CLI value is not a valid byte size.","triggerScenarios":"Thrown at pulsar-cli-utils/src/main/java/org/apache/pulsar/cli/converters/picocli/ByteUnitToIntegerConverter.java:32 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Fix the size argument format per the converter message (e.g., 10M, 1G)","Ensure the value fits in an int after unit expansion"],"exampleFix":null,"handlingStrategy":"try-catch","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"820761864ed8e2a7d2e52dd9763ad2ae117c1395","analyzedAt":"2026-09-06T00:14:20.138Z","contentChangedAt":"2026-09-06T00:14:20.138Z","schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}