smengcl commented on code in PR #3971:
URL: https://github.com/apache/ozone/pull/3971#discussion_r1098105396


##########
hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/OzoneManager.java:
##########
@@ -2665,6 +2665,12 @@ public List<OmVolumeArgs> listVolumeByUser(String 
userName, String prefix,
     try {
       metrics.incNumVolumeLists();
       if (isAclEnabled) {
+        String remoteUserName = remoteUserUgi.getShortUserName();
+        // if not admin nor list my own volumes, check ACL.
+        if (!remoteUserName.equals(userName) && !isAdmin(remoteUserUgi)) {

Review Comment:
   Something like this:
   
   ```diff
   diff --git 
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/OzoneManager.java
 
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/OzoneManager.java
   index 67803786df..3a9308ef3f 100644
   --- 
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/OzoneManager.java
   +++ 
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/OzoneManager.java
   @@ -2592,8 +2592,13 @@ public List<OmVolumeArgs> listVolumeByUser(String 
userName, String prefix,
          metrics.incNumVolumeLists();
          if (isAclEnabled) {
            String remoteUserName = remoteUserUgi.getShortUserName();
   +        // Convert userName to short username
   +        final UserGroupInformation ugiUserParam =
   +            UserGroupInformation.createRemoteUser(userName);
   +        final String userParamShortName = ugiUserParam.getShortUserName();
            // if not admin nor list my own volumes, check ACL.
   -        if (!remoteUserName.equals(userName) && !isAdmin(remoteUserUgi)) {
   +        if (!remoteUserName.equals(userParamShortName)
   +            && !isAdmin(remoteUserUgi)) {
              omMetadataReader.checkAcls(ResourceType.VOLUME,
                  StoreType.OZONE, ACLType.LIST,
                  OzoneConsts.OZONE_ROOT, null, null);
   
   ```



-- 
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