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 volatile because 
FileSessionCredentialsProvider
   // is safely initialized because it contains a final field 
sessionCredentials.
   ```
   Added "The provider field doesn't need to 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]

Reply via email to