Skip to content

Commit

Permalink
rpk: display float values as float in cluster config get
Browse files Browse the repository at this point in the history
In 610e3ad we introduced a fix for redpanda-data#6070, to avoid
printing large numbers with scientific notation, we
treated all numbers as integers.

Now, the API uses float values and they are being
rounded, this change introduce a mod check to
determine whether the number is an integer or a
float.

(cherry picked from commit b7a57ed)
  • Loading branch information
r-vasquez authored and vbotbuildovich committed Jun 6, 2024
1 parent dfea7cf commit d297d9a
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 4 deletions.
11 changes: 8 additions & 3 deletions src/go/rpk/pkg/cli/cluster/config/get.go
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand Down Expand Up @@ -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.
Expand Down
3 changes: 2 additions & 1 deletion tests/rptest/tests/cluster_config_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand Down

0 comments on commit d297d9a

Please sign in to comment.