diff --git a/hertzbeat-warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/history/tsdb/vm/VictoriaMetricsProperties.java b/hertzbeat-warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/history/tsdb/vm/VictoriaMetricsProperties.java index dccb01ca033..8e3c6bd3329 100644 --- a/hertzbeat-warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/history/tsdb/vm/VictoriaMetricsProperties.java +++ b/hertzbeat-warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/history/tsdb/vm/VictoriaMetricsProperties.java @@ -39,7 +39,7 @@ public record VictoriaMetricsProperties(@DefaultValue("false") boolean enabled, record InsertConfig(@DefaultValue("100") int bufferSize, @DefaultValue("3") int flushInterval, - Compression compression) { + @DefaultValue Compression compression) { } record Compression(@DefaultValue("false") boolean enabled) { diff --git a/hertzbeat-warehouse/src/test/java/org/apache/hertzbeat/warehouse/store/history/tsdb/vm/VictoriaMetricsPropertiesTest.java b/hertzbeat-warehouse/src/test/java/org/apache/hertzbeat/warehouse/store/history/tsdb/vm/VictoriaMetricsPropertiesTest.java index 1ad18739665..c1c61d9049e 100644 --- a/hertzbeat-warehouse/src/test/java/org/apache/hertzbeat/warehouse/store/history/tsdb/vm/VictoriaMetricsPropertiesTest.java +++ b/hertzbeat-warehouse/src/test/java/org/apache/hertzbeat/warehouse/store/history/tsdb/vm/VictoriaMetricsPropertiesTest.java @@ -18,9 +18,13 @@ package org.apache.hertzbeat.warehouse.store.history.tsdb.vm; import static org.assertj.core.api.Assertions.assertThat; + +import java.util.Map; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.context.properties.EnableConfigurationProperties; +import org.springframework.boot.context.properties.bind.Binder; +import org.springframework.boot.context.properties.source.MapConfigurationPropertySource; import org.springframework.boot.test.context.SpringBootTest; /** @@ -58,4 +62,16 @@ void propertiesShouldBeInjectedAndCorrectlyBound() { assertThat(properties.insert().compression().enabled()).isTrue(); } + @Test + void compressionShouldDefaultToDisabledWhenNotConfigured() { + var source = new MapConfigurationPropertySource(Map.of( + "warehouse.store.victoria-metrics.insert.buffer-size", "999")); + var defaultProperties = new Binder(source) + .bind("warehouse.store.victoria-metrics", VictoriaMetricsProperties.class) + .get(); + + assertThat(defaultProperties.insert().compression()).isNotNull(); + assertThat(defaultProperties.insert().compression().enabled()).isFalse(); + } + }