diff --git a/src/go/rpk/pkg/cli/cluster/config/get.go b/src/go/rpk/pkg/cli/cluster/config/get.go index 07a061a4dd14c..33123f55443bb 100644 --- a/src/go/rpk/pkg/cli/cluster/config/get.go +++ b/src/go/rpk/pkg/cli/cluster/config/get.go @@ -11,6 +11,7 @@ package config import ( "fmt" + "math" "github.com/redpanda-data/redpanda/src/go/rpk/pkg/adminapi" "github.com/redpanda-data/redpanda/src/go/rpk/pkg/config" @@ -48,10 +49,14 @@ output, use the 'edit' and 'export' commands respectively.`, } else { // currentConfig is the result of json.Unmarshal into a // map[string]interface{}. Due to json rules, all numbers - // are float64. We do not want to print floats, especially - // for large numbers. + // are float64. We do not want to print floats for large + // numbers. if f64, ok := val.(float64); ok { - val = int64(f64) + if math.Mod(f64, 1.0) == 0 { + val = int64(f64) + } else { + val = f64 + } } // Intentionally bare output, so that the output can be readily // consumed in a script. diff --git a/tests/rptest/tests/cluster_config_test.py b/tests/rptest/tests/cluster_config_test.py index 1c6e969725f3c..3c586189b2b7c 100644 --- a/tests/rptest/tests/cluster_config_test.py +++ b/tests/rptest/tests/cluster_config_test.py @@ -1050,7 +1050,8 @@ class Example(NamedTuple): Example("kafka_qdc_enable", "true", True), Example("append_chunk_size", "32768", 32768), Example("superusers", "['bob','alice']", ["bob", "alice"]), - Example("storage_min_free_bytes", "1234567890", 1234567890) + Example("storage_min_free_bytes", "1234567890", 1234567890), + Example("kafka_memory_share_for_fetch", "0.6", 0.6) ] def yamlize(input) -> str: