leventov commented on a change in pull request #6662: Double-checked locking
bugs
URL: https://github.com/apache/incubator-druid/pull/6662#discussion_r236668504
##########
File path:
aws-common/src/main/java/org/apache/druid/common/aws/LazyFileSessionCredentialsProvider.java
##########
@@ -32,14 +32,10 @@ public
LazyFileSessionCredentialsProvider(AWSCredentialsConfig config)
this.config = config;
}
- private FileSessionCredentialsProvider getUnderlyingProvider()
+ private synchronized FileSessionCredentialsProvider getUnderlyingProvider()
Review comment:
1) No `synchronized` on the method
2) There should be another check inside the `synchronized` block (because
currently it's not **double** checked locking :)
3) I would put the comment before the `provider = syncedProvider;` line:
```
// The provider field doesn't need to be volatile because
FileSessionCredentialsProvider
// is safely initialized because it contains a final field
sessionCredentials.
```
Added "The provider field doesn't need to be volatile" because that's what
specifically needs to be explained here.
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
With regards,
Apache Git Services
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]