From be56f145038eb8d35260f893da2829e0140b4a43 Mon Sep 17 00:00:00 2001 From: Dongie Agnir <261310+dagnir@users.noreply.github.com> Date: Mon, 23 Aug 2021 14:40:29 -0700 Subject: [PATCH] Fix NPE in RetryPolicy.hashCode() (#2672) --- .changes/next-release/bugfix-AWSSDKforJavav2-f2c1771.json | 6 ++++++ .../java/software/amazon/awssdk/core/retry/RetryPolicy.java | 2 +- .../software/amazon/awssdk/core/retry/RetryPolicyTest.java | 5 +++++ 3 files changed, 12 insertions(+), 1 deletion(-) create mode 100644 .changes/next-release/bugfix-AWSSDKforJavav2-f2c1771.json diff --git a/.changes/next-release/bugfix-AWSSDKforJavav2-f2c1771.json b/.changes/next-release/bugfix-AWSSDKforJavav2-f2c1771.json new file mode 100644 index 000000000000..52aab3fc0980 --- /dev/null +++ b/.changes/next-release/bugfix-AWSSDKforJavav2-f2c1771.json @@ -0,0 +1,6 @@ +{ + "category": "AWS SDK for Java v2", + "contributor": "", + "type": "bugfix", + "description": "Fix `NullPointerException` in `RetryPolicy.hashCode()`." +} diff --git a/core/sdk-core/src/main/java/software/amazon/awssdk/core/retry/RetryPolicy.java b/core/sdk-core/src/main/java/software/amazon/awssdk/core/retry/RetryPolicy.java index 4c40f1b38859..81d8b45a0838 100644 --- a/core/sdk-core/src/main/java/software/amazon/awssdk/core/retry/RetryPolicy.java +++ b/core/sdk-core/src/main/java/software/amazon/awssdk/core/retry/RetryPolicy.java @@ -234,7 +234,7 @@ public int hashCode() { result = 31 * result + Boolean.hashCode(additionalRetryConditionsAllowed); result = 31 * result + backoffStrategy.hashCode(); result = 31 * result + throttlingBackoffStrategy.hashCode(); - result = 31 * result + Boolean.hashCode(fastFailRateLimiting); + result = 31 * result + Objects.hashCode(fastFailRateLimiting); return result; } diff --git a/core/sdk-core/src/test/java/software/amazon/awssdk/core/retry/RetryPolicyTest.java b/core/sdk-core/src/test/java/software/amazon/awssdk/core/retry/RetryPolicyTest.java index 8171d1ff2e52..b6a26f705129 100644 --- a/core/sdk-core/src/test/java/software/amazon/awssdk/core/retry/RetryPolicyTest.java +++ b/core/sdk-core/src/test/java/software/amazon/awssdk/core/retry/RetryPolicyTest.java @@ -180,4 +180,9 @@ public void fastFailRateLimitingConfigured_retryModeNotAdaptive_throws() { public void fastFailRateLimitingConfigured_retryModeAdaptive_doesNotThrow() { RetryPolicy.builder(RetryMode.ADAPTIVE).fastFailRateLimiting(true).build(); } + + @Test + public void hashCodeDoesNotThrow() { + RetryPolicy.defaultRetryPolicy().hashCode(); + } }