apache/pulsar · error · TypeConversionException
e.getMessage()
Error message
e.getMessage()
What it means
TimeUnitToSecondsConverter.convert wraps parseRelativeTimeInSeconds failures into picocli's TypeConversionException, forwarding the original error message (e.getMessage()) for an invalid relative-time argument.
Source
Thrown at pulsar-cli-utils/src/main/java/org/apache/pulsar/cli/converters/picocli/TimeUnitToSecondsConverter.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 TimeUnitToSecondsConverter implements ITypeConverter<Long> {
@Override
public Long convert(String value) throws Exception {
try {
return TimeUnit.SECONDS.toSeconds(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/TimeUnitToSecondsConverter.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/a829df63f00de15c.
Report an issue: GitHub.