[ 
https://issues.apache.org/jira/browse/HBASE-22054?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16825523#comment-16825523
 ] 

Sakthi commented on HBASE-22054:
--------------------------------

Thanks for the quick review Josh.
{code:java}
public static void initialize(Configuration conf) throws IOException {
...
systemUser = User.getCurrent(); //-> throws IOException
if (systemUser == null) {
      throw new IllegalStateException("Unable to obtain the current user, "
        + "authorization checks for internal operations will not work 
correctly!");
...
}
{code}
Superusers uses User.getCurrent() to get systemUser(which cannot be null or 
else IllegalStateException might be thrown. User.getCurrent() might throw 
IOException in User.SecureHadoopUser due to 
UserGroupInformation.getCurrentUser(). Hence I think it would be better for us 
to catch it while reloading the conf. Also, yes WARN makes sense fail in 
loading of superusers should be catered-to much earlier.

> Space Quota: Compaction is not working for super user in case of 
> NO_WRITES_COMPACTIONS
> --------------------------------------------------------------------------------------
>
>                 Key: HBASE-22054
>                 URL: https://issues.apache.org/jira/browse/HBASE-22054
>             Project: HBase
>          Issue Type: Bug
>            Reporter: Ajeet Rai
>            Assignee: Sakthi
>            Priority: Minor
>              Labels: Quota, Space
>         Attachments: hbase-22054.master.001.patch, 
> hbase-22054.master.002.patch, hbase-22054.master.003.patch, 
> hbase-22054.master.004.patch
>
>
> Space Quota: Compaction is not working for super user. Compaction command is 
> issued successfully at client but actually compaction is not happening.
> In debug log below message is printed:
> as an active space quota violation policy disallows compaction.
>  Reference: 
>  
> [https://lists.apache.org/thread.html/d09aa7abaacf1f0be9d59fa9260515ddc0c17ac0aba9cc0f2ac569bf@%3Cuser.hbase.apache.org%3E]
> Actually in requestCompactionInternal method of  CompactSplit class ,there is 
> no check for super user and compcations are disallowed
> {noformat}
>   RegionServerSpaceQuotaManager spaceQuotaManager =
>         this.server.getRegionServerSpaceQuotaManager();
>     if (spaceQuotaManager != null &&
>         
> spaceQuotaManager.areCompactionsDisabled(region.getTableDescriptor().getTableName()))
>  {
>       String reason = "Ignoring compaction request for " + region +
>           " as an active space quota violation " + " policy disallows 
> compactions.";
>       tracker.notExecuted(store, reason);
>       completeTracker.completed(store);
>       LOG.debug(reason);
>       return;
>     }
> {noformat}
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to