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

Vinayakumar B edited comment on HDFS-8231 at 4/24/15 6:08 AM:
--------------------------------------------------------------

bq. I think the correct fix is to extend QuotaByStorageTypeExceededException 
from DSQuotaExceededException. As StorageType is only applicable for the disk 
usage,
Oops. This wont work. ;), Though logically this is correct, but it will not 
avoid logging stacktrace. Because {{RemoteException#unwrapRemoteException(..)}} 
compares just the classnames, not {{instanceof}}.
Along with the above fix suggested by [~cnauroth], Still I recommend to extend 
{{QuotaByStorageTypeExceededException}} from {{DSQuotaExceededException}} and 
remove call to {{super.getMessage()}} in 
{{QuotaByStorageTypeExceededException#getMessage()}} to get the correct message.

{{QuotaByStorageTypeExceededException}} should be added to Terse exception list 
to avoid traces at NameNode side. Changes to be done at {{NameNodeRPCServer}} 
constructor at following point.
{code}// Set terse exception whose stack trace won't be logged
    clientRpcServer.addTerseExceptions(SafeModeException.class,
        FileNotFoundException.class,
        HadoopIllegalArgumentException.class,
        FileAlreadyExistsException.class,
        InvalidPathException.class,
        ParentNotDirectoryException.class,
        UnresolvedLinkException.class,
        AlreadyBeingCreatedException.class,
        QuotaExceededException.class,
        RecoveryInProgressException.class,
        AccessControlException.class,
        InvalidToken.class,
        LeaseExpiredException.class,
        NSQuotaExceededException.class,
        DSQuotaExceededException.class,
        AclException.class,
        FSLimitException.PathComponentTooLongException.class,
        FSLimitException.MaxDirectoryItemsExceededException.class,
        UnresolvedPathException.class);{code}


was (Author: vinayrpet):
bq. I think the correct fix is to extend QuotaByStorageTypeExceededException 
from DSQuotaExceededException. As StorageType is only applicable for the disk 
usage,
Oops. This wont work. ;), Though logically this is correct, but it will not 
avoid logging stacktrace. Because {{RemoteException#unwrapRemoteException(..)}} 
compares just the classnames, not {{instanceof}}.
Along with the above fix suggested by [~cnauroth], Still I recommend to extend 
{{QuotaByStorageTypeExceededException}} from {{DSQuotaExceededException}} and 
remove call to {{super.getMessage()}} in 
{{QuotaByStorageTypeExceededException#toString()}} to get the correct message.

{{QuotaByStorageTypeExceededException}} should be added to Terse exception list 
to avoid traces at NameNode side. Changes to be done at {{NameNodeRPCServer}} 
constructor at following point.
{code}// Set terse exception whose stack trace won't be logged
    clientRpcServer.addTerseExceptions(SafeModeException.class,
        FileNotFoundException.class,
        HadoopIllegalArgumentException.class,
        FileAlreadyExistsException.class,
        InvalidPathException.class,
        ParentNotDirectoryException.class,
        UnresolvedLinkException.class,
        AlreadyBeingCreatedException.class,
        QuotaExceededException.class,
        RecoveryInProgressException.class,
        AccessControlException.class,
        InvalidToken.class,
        LeaseExpiredException.class,
        NSQuotaExceededException.class,
        DSQuotaExceededException.class,
        AclException.class,
        FSLimitException.PathComponentTooLongException.class,
        FSLimitException.MaxDirectoryItemsExceededException.class,
        UnresolvedPathException.class);{code}

> StackTrace displayed at client while QuotaByStorageType exceeds
> ---------------------------------------------------------------
>
>                 Key: HDFS-8231
>                 URL: https://issues.apache.org/jira/browse/HDFS-8231
>             Project: Hadoop HDFS
>          Issue Type: Improvement
>          Components: hdfs-client
>            Reporter: J.Andreina
>            Assignee: J.Andreina
>            Priority: Minor
>         Attachments: HDFS-8231.00.patch, HDFS-8231.1.patch
>
>
> StackTrace displayed at client while QuotaByStorageType exceeds.
> With reference to HDFS-2360, feel better to fix this issue.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to