apache/pulsar · error · TypeConversionException
e.getMessage()
Error message
e.getMessage()
What it means
TimeUnitToMillisConverter.convert wraps parseRelativeTimeInSeconds failures into picocli's TypeConversionException, forwarding the original error message (e.getMessage()) when the CLI time value is invalid.
Source
Thrown at pulsar-cli-utils/src/main/java/org/apache/pulsar/cli/converters/picocli/TimeUnitToMillisConverter.java:32
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
package org.apache.pulsar.cli.converters.picocli;
import java.util.concurrent.TimeUnit;
import org.apache.pulsar.cli.converters.RelativeTimeUtil;
import picocli.CommandLine.ITypeConverter;
import picocli.CommandLine.TypeConversionException;
public class TimeUnitToMillisConverter implements ITypeConverter<Long> {
@Override
public Long convert(String value) throws Exception {
try {
return TimeUnit.SECONDS.toMillis(RelativeTimeUtil.parseRelativeTimeInSeconds(value));
} catch (Exception e) {
throw new TypeConversionException(e.getMessage());
}
}
}
View on GitHub (pinned to 820761864e)
Solutions
- Use a valid relative time like 30s, 5m, 1h with supported unit suffixes
Defensive patterns
Strategy: try-catch
When it happens
Trigger: Thrown at pulsar-cli-utils/src/main/java/org/apache/pulsar/cli/converters/picocli/TimeUnitToMillisConverter.java:32 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of apache/pulsar@820761864e (2026-09-06).
Data as JSON: /api/errors/9a287bdf15edb39d.
Report an issue: GitHub.