From 5508957eca0c79f896efa531f960870545f1d2c8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Nicoll?= Date: Wed, 7 Oct 2026 16:04:17 +0200 Subject: [PATCH] Polish "Zero-pad nanos in gRPC service config durations" Use the short "s" format when nanos are equal to 0. This prevents extra padding for the most frequent use case. See gh-51957 --- .../boot/grpc/client/autoconfigure/ServiceConfig.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/module/spring-boot-grpc-client/src/main/java/org/springframework/boot/grpc/client/autoconfigure/ServiceConfig.java b/module/spring-boot-grpc-client/src/main/java/org/springframework/boot/grpc/client/autoconfigure/ServiceConfig.java index 086db7cb368..c00b52259f9 100644 --- a/module/spring-boot-grpc-client/src/main/java/org/springframework/boot/grpc/client/autoconfigure/ServiceConfig.java +++ b/module/spring-boot-grpc-client/src/main/java/org/springframework/boot/grpc/client/autoconfigure/ServiceConfig.java @@ -20,7 +20,6 @@ import java.time.Duration; import java.util.Collections; import java.util.LinkedHashMap; import java.util.List; -import java.util.Locale; import java.util.Map; import java.util.Objects; import java.util.Set; @@ -88,7 +87,8 @@ public record ServiceConfig(@Nullable List loadbalancing, @ } static String durationString(Duration duration) { - return String.format(Locale.ROOT, "%d.%09ds", duration.getSeconds(), duration.getNano()); + return (duration.getNano() == 0) ? "%ds".formatted(duration.getSeconds()) + : "%d.%09ds".formatted(duration.getSeconds(), duration.getNano()); } static String bytesString(DataSize dataSize) {