{"record":{"id":"9a287bdf15edb39d","repo":"apache/pulsar","slug":"e-getmessage-9a287b","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/TimeUnitToMillisConverter.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 java.util.concurrent.TimeUnit;\nimport org.apache.pulsar.cli.converters.RelativeTimeUtil;\nimport picocli.CommandLine.ITypeConverter;\nimport picocli.CommandLine.TypeConversionException;\n\npublic class TimeUnitToMillisConverter implements ITypeConverter<Long> {\n    @Override\n    public Long convert(String value) throws Exception {\n        try {\n            return TimeUnit.SECONDS.toMillis(RelativeTimeUtil.parseRelativeTimeInSeconds(value));\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/TimeUnitToMillisConverter.java#L14-L36","documentation":"TimeUnitToMillisConverter.convert wraps parseRelativeTimeInSeconds failures into picocli's TypeConversionException, forwarding the original error message (e.getMessage()) when the CLI time value is invalid.","triggerScenarios":"Thrown at pulsar-cli-utils/src/main/java/org/apache/pulsar/cli/converters/picocli/TimeUnitToMillisConverter.java:32 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Use a valid relative time like 30s, 5m, 1h with supported unit suffixes"],"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"}