Update to resilience4j 1.5.0.

This commit is contained in:
Jon Chambers 2020-08-14 11:48:45 -04:00 committed by Jon Chambers
parent 5717dc294e
commit 27f721a1f5
8 changed files with 22 additions and 23 deletions

View File

@ -17,7 +17,7 @@
<properties>
<dropwizard.version>2.0.10</dropwizard.version>
<resilience4j.version>0.14.1</resilience4j.version>
<resilience4j.version>1.5.0</resilience4j.version>
<mockito.version>2.25.1</mockito.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

View File

@ -12,7 +12,7 @@ public class RetryConfiguration {
@JsonProperty
@Min(1)
private int maxAttempts = RetryConfig.DEFAULT_MAX_ATTEMPTS;
private int maxAttempts = 3;
@JsonProperty
@Min(1)

View File

@ -1,6 +1,6 @@
package org.whispersystems.textsecuregcm.redis;
import io.github.resilience4j.circuitbreaker.CircuitBreakerOpenException;
import io.github.resilience4j.circuitbreaker.CallNotPermittedException;
import io.lettuce.core.RedisException;
import io.lettuce.core.cluster.pubsub.StatefulRedisClusterPubSubConnection;
import io.lettuce.core.cluster.pubsub.api.sync.RedisClusterPubSubCommands;
@ -47,7 +47,7 @@ public class FaultTolerantPubSubConnectionTest {
assertThrows(RedisException.class,
() -> faultTolerantPubSubConnection.withPubSubConnection(connection -> connection.sync().get("OH NO")));
assertThrows(CircuitBreakerOpenException.class,
assertThrows(CallNotPermittedException.class,
() -> faultTolerantPubSubConnection.withPubSubConnection(connection -> connection.sync().get("OH NO")));
}
}

View File

@ -1,6 +1,6 @@
package org.whispersystems.textsecuregcm.redis;
import io.github.resilience4j.circuitbreaker.CircuitBreakerOpenException;
import io.github.resilience4j.circuitbreaker.CallNotPermittedException;
import io.lettuce.core.RedisException;
import io.lettuce.core.cluster.RedisClusterClient;
import io.lettuce.core.cluster.api.StatefulRedisClusterConnection;
@ -54,7 +54,7 @@ public class FaultTolerantRedisClusterTest {
assertThrows(RedisException.class,
() -> faultTolerantCluster.withCluster(connection -> connection.sync().get("OH NO")));
assertThrows(CircuitBreakerOpenException.class,
assertThrows(CallNotPermittedException.class,
() -> faultTolerantCluster.withCluster(connection -> connection.sync().get("OH NO")));
}
}

View File

@ -1,6 +1,7 @@
package org.whispersystems.textsecuregcm.tests.http;
import com.github.tomakehurst.wiremock.junit.WireMockRule;
import io.github.resilience4j.circuitbreaker.CallNotPermittedException;
import org.junit.Rule;
import org.junit.Test;
import org.whispersystems.textsecuregcm.configuration.CircuitBreakerConfiguration;
@ -15,9 +16,12 @@ import java.net.http.HttpResponse;
import java.util.concurrent.CompletionException;
import java.util.concurrent.Executors;
import static com.github.tomakehurst.wiremock.client.WireMock.*;
import static com.github.tomakehurst.wiremock.client.WireMock.aResponse;
import static com.github.tomakehurst.wiremock.client.WireMock.get;
import static com.github.tomakehurst.wiremock.client.WireMock.getRequestedFor;
import static com.github.tomakehurst.wiremock.client.WireMock.urlEqualTo;
import static com.github.tomakehurst.wiremock.client.WireMock.verify;
import static com.github.tomakehurst.wiremock.core.WireMockConfiguration.options;
import io.github.resilience4j.circuitbreaker.CircuitBreakerOpenException;
import static org.assertj.core.api.AssertionsForClassTypes.assertThat;
public class FaultTolerantHttpClientTest {
@ -124,7 +128,7 @@ public class FaultTolerantHttpClientTest {
client.sendAsync(request, HttpResponse.BodyHandlers.ofString()).join();
throw new AssertionError("Should have failed!");
} catch (CompletionException e) {
assertThat(e.getCause()).isInstanceOf(CircuitBreakerOpenException.class);
assertThat(e.getCause()).isInstanceOf(CallNotPermittedException.class);
// good
}
@ -142,7 +146,7 @@ public class FaultTolerantHttpClientTest {
client.sendAsync(request, HttpResponse.BodyHandlers.ofString()).join();
throw new AssertionError("Should have failed!");
} catch (CompletionException e) {
assertThat(e.getCause()).isInstanceOf(CircuitBreakerOpenException.class);
assertThat(e.getCause()).isInstanceOf(CallNotPermittedException.class);
// good
}

View File

@ -1,5 +1,6 @@
package org.whispersystems.textsecuregcm.tests.redis;
import io.github.resilience4j.circuitbreaker.CallNotPermittedException;
import org.junit.Test;
import org.whispersystems.textsecuregcm.configuration.CircuitBreakerConfiguration;
import org.whispersystems.textsecuregcm.redis.ReplicatedJedisPool;
@ -8,8 +9,6 @@ import java.util.Arrays;
import java.util.Collections;
import java.util.LinkedList;
import io.github.resilience4j.circuitbreaker.CircuitBreaker;
import io.github.resilience4j.circuitbreaker.CircuitBreakerOpenException;
import static org.assertj.core.api.Assertions.assertThat;
import static org.mockito.Mockito.*;
import redis.clients.jedis.Jedis;
@ -136,7 +135,7 @@ public class ReplicatedJedisPoolTest {
try {
replicatedJedisPool.getWriteResource();
throw new AssertionError();
} catch (CircuitBreakerOpenException e) {
} catch (CallNotPermittedException e) {
// good
}
}
@ -176,7 +175,7 @@ public class ReplicatedJedisPoolTest {
try {
replicatedJedisPool.getWriteResource();
throw new AssertionError();
} catch (CircuitBreakerOpenException e) {
} catch (CallNotPermittedException e) {
// good
}
@ -192,7 +191,7 @@ public class ReplicatedJedisPoolTest {
try {
replicatedJedisPool.getWriteResource();
throw new AssertionError();
} catch (CircuitBreakerOpenException e) {
} catch (CallNotPermittedException e) {
// good
}

View File

@ -4,7 +4,7 @@ import com.fasterxml.uuid.UUIDComparator;
import com.opentable.db.postgres.embedded.LiquibasePreparer;
import com.opentable.db.postgres.junit.EmbeddedPostgresRules;
import com.opentable.db.postgres.junit.PreparedDbRule;
import org.jdbi.v3.core.HandleCallback;
import io.github.resilience4j.circuitbreaker.CallNotPermittedException;
import org.jdbi.v3.core.HandleConsumer;
import org.jdbi.v3.core.Jdbi;
import org.jdbi.v3.core.transaction.TransactionException;
@ -18,8 +18,6 @@ import org.whispersystems.textsecuregcm.storage.Accounts;
import org.whispersystems.textsecuregcm.storage.Device;
import org.whispersystems.textsecuregcm.storage.FaultTolerantDatabase;
import org.whispersystems.textsecuregcm.storage.mappers.AccountRowMapper;
import org.whispersystems.textsecuregcm.util.Conversions;
import org.whispersystems.textsecuregcm.util.Util;
import java.io.IOException;
import java.sql.PreparedStatement;
@ -28,7 +26,6 @@ import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashSet;
import java.util.List;
import java.util.Optional;
@ -36,7 +33,6 @@ import java.util.Random;
import java.util.Set;
import java.util.UUID;
import io.github.resilience4j.circuitbreaker.CircuitBreakerOpenException;
import static org.assertj.core.api.AssertionsForClassTypes.assertThat;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.Mockito.doThrow;
@ -251,7 +247,7 @@ public class AccountsTest {
try {
accounts.update(account);
throw new AssertionError();
} catch (CircuitBreakerOpenException e) {
} catch (CallNotPermittedException e) {
// good
}

View File

@ -3,7 +3,7 @@ package org.whispersystems.textsecuregcm.tests.storage;
import com.opentable.db.postgres.embedded.LiquibasePreparer;
import com.opentable.db.postgres.junit.EmbeddedPostgresRules;
import com.opentable.db.postgres.junit.PreparedDbRule;
import io.github.resilience4j.circuitbreaker.CircuitBreakerOpenException;
import io.github.resilience4j.circuitbreaker.CallNotPermittedException;
import org.jdbi.v3.core.HandleConsumer;
import org.jdbi.v3.core.Jdbi;
import org.jdbi.v3.core.statement.UnableToExecuteStatementException;
@ -321,7 +321,7 @@ public class KeysTest {
try {
keys.store("+14152222222", 1, deviceOnePreKeys);
throw new AssertionError();
} catch (CircuitBreakerOpenException e) {
} catch (CallNotPermittedException e) {
// good
}