Browse Source

Merge pull request #24208 from xJoeWoo

* pr/24208:
  Polish "Reduce redis health indicator info command result size"
  Reduce redis health indicator info command result size

Closes gh-24208
pull/24789/head
Stephane Nicoll 5 years ago
parent
commit
47efbd9052
  1. 2
      spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/redis/RedisHealthIndicator.java
  2. 2
      spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/redis/RedisReactiveHealthIndicator.java
  3. 6
      spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/redis/RedisHealthIndicatorTests.java
  4. 6
      spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/redis/RedisReactiveHealthIndicatorTests.java

2
spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/redis/RedisHealthIndicator.java

@ -65,7 +65,7 @@ public class RedisHealthIndicator extends AbstractHealthIndicator { @@ -65,7 +65,7 @@ public class RedisHealthIndicator extends AbstractHealthIndicator {
.withDetail("slots_fail", clusterInfo.getSlotsFail());
}
else {
String version = connection.info().getProperty(REDIS_VERSION_PROPERTY);
String version = connection.info("server").getProperty(REDIS_VERSION_PROPERTY);
builder.up().withDetail("version", version);
}
}

2
spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/redis/RedisReactiveHealthIndicator.java

@ -55,7 +55,7 @@ public class RedisReactiveHealthIndicator extends AbstractReactiveHealthIndicato @@ -55,7 +55,7 @@ public class RedisReactiveHealthIndicator extends AbstractReactiveHealthIndicato
private Mono<Health> doHealthCheck(Health.Builder builder, ReactiveRedisConnection connection) {
boolean isClusterConnection = connection instanceof ReactiveRedisClusterConnection;
return connection.serverCommands().info().map((info) -> up(builder, info, isClusterConnection))
return connection.serverCommands().info("server").map((info) -> up(builder, info, isClusterConnection))
.onErrorResume((ex) -> Mono.just(down(builder, ex)))
.flatMap((health) -> connection.closeLater().thenReturn(health));
}

6
spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/redis/RedisHealthIndicatorTests.java

@ -1,5 +1,5 @@ @@ -1,5 +1,5 @@
/*
* Copyright 2012-2019 the original author or authors.
* Copyright 2012-2020 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -51,7 +51,7 @@ class RedisHealthIndicatorTests { @@ -51,7 +51,7 @@ class RedisHealthIndicatorTests {
Properties info = new Properties();
info.put("redis_version", "2.8.9");
RedisConnection redisConnection = mock(RedisConnection.class);
given(redisConnection.info()).willReturn(info);
given(redisConnection.info("server")).willReturn(info);
RedisHealthIndicator healthIndicator = createHealthIndicator(redisConnection);
Health health = healthIndicator.health();
assertThat(health.getStatus()).isEqualTo(Status.UP);
@ -61,7 +61,7 @@ class RedisHealthIndicatorTests { @@ -61,7 +61,7 @@ class RedisHealthIndicatorTests {
@Test
void redisIsDown() {
RedisConnection redisConnection = mock(RedisConnection.class);
given(redisConnection.info()).willThrow(new RedisConnectionFailureException("Connection failed"));
given(redisConnection.info("server")).willThrow(new RedisConnectionFailureException("Connection failed"));
RedisHealthIndicator healthIndicator = createHealthIndicator(redisConnection);
Health health = healthIndicator.health();
assertThat(health.getStatus()).isEqualTo(Status.DOWN);

6
spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/redis/RedisReactiveHealthIndicatorTests.java

@ -55,7 +55,7 @@ class RedisReactiveHealthIndicatorTests { @@ -55,7 +55,7 @@ class RedisReactiveHealthIndicatorTests {
ReactiveRedisConnection redisConnection = mock(ReactiveRedisConnection.class);
given(redisConnection.closeLater()).willReturn(Mono.empty());
ReactiveServerCommands commands = mock(ReactiveServerCommands.class);
given(commands.info()).willReturn(Mono.just(info));
given(commands.info("server")).willReturn(Mono.just(info));
RedisReactiveHealthIndicator healthIndicator = createHealthIndicator(redisConnection, commands);
Mono<Health> health = healthIndicator.health();
StepVerifier.create(health).consumeNextWith((h) -> {
@ -73,7 +73,7 @@ class RedisReactiveHealthIndicatorTests { @@ -73,7 +73,7 @@ class RedisReactiveHealthIndicatorTests {
ReactiveRedisConnection redisConnection = mock(ReactiveRedisClusterConnection.class);
given(redisConnection.closeLater()).willReturn(Mono.empty());
ReactiveClusterServerCommands commands = mock(ReactiveClusterServerCommands.class);
given(commands.info()).willReturn(Mono.just(info));
given(commands.info("server")).willReturn(Mono.just(info));
RedisReactiveHealthIndicator healthIndicator = createHealthIndicator(redisConnection, commands);
Mono<Health> health = healthIndicator.health();
StepVerifier.create(health).consumeNextWith((h) -> {
@ -87,7 +87,7 @@ class RedisReactiveHealthIndicatorTests { @@ -87,7 +87,7 @@ class RedisReactiveHealthIndicatorTests {
@Test
void redisCommandIsDown() {
ReactiveServerCommands commands = mock(ReactiveServerCommands.class);
given(commands.info()).willReturn(Mono.error(new RedisConnectionFailureException("Connection failed")));
given(commands.info("server")).willReturn(Mono.error(new RedisConnectionFailureException("Connection failed")));
ReactiveRedisConnection redisConnection = mock(ReactiveRedisConnection.class);
given(redisConnection.closeLater()).willReturn(Mono.empty());
RedisReactiveHealthIndicator healthIndicator = createHealthIndicator(redisConnection, commands);

Loading…
Cancel
Save