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(); + } }