ivanzlenko commented on code in PR #7268:
URL: https://github.com/apache/ozone/pull/7268#discussion_r1817113632


##########
hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/server/OzoneAdmins.java:
##########
@@ -186,4 +192,91 @@ public static Collection<String> 
getOzoneReadOnlyAdminsGroupsFromConfig(
     return conf.getTrimmedStringCollection(
         OZONE_READONLY_ADMINISTRATORS_GROUPS);
   }
+
+  /**
+   * Get the list of S3 administrators from Ozone config.
+   * <p/>
+   * <strong>Notes</strong>:
+   * <ul>
+   *   <li>If <code>ozone.s3.administrators</code> value is empty string or 
unset,
+   *       defaults to <code>ozone.administrators</code> value.</li>
+   *   <li>If current user is not part of the administrators group,
+   *       {@link UserGroupInformation#getCurrentUser()} will be added to the 
resulting list</li>
+   * </ul>
+   * @param conf An instance of {@link OzoneConfiguration} being used
+   * @return A {@link Collection} of the S3 administrator users
+   *
+   */
+  public static Set<String> getS3AdminsFromConfig(OzoneConfiguration conf) 
throws IOException {
+    Set<String> ozoneAdmins = new 
HashSet<>(conf.getTrimmedStringCollection(OZONE_S3_ADMINISTRATORS));
+
+    if (ozoneAdmins.isEmpty()) {
+      ozoneAdmins = new 
HashSet<>(conf.getTrimmedStringCollection(OZONE_ADMINISTRATORS));
+    }
+
+    String omSPN = UserGroupInformation.getCurrentUser().getShortUserName();
+    if (!ozoneAdmins.contains(omSPN)) {

Review Comment:
    While running tests Idea showed me that this check is unnecessary. 
   HashSet already will not do anything if value already present, so we can 
easily remove this if. 
   And frankly inline variable.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to