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

Ayush Saxena commented on HDFS-14284:
-------------------------------------

I didn't catch much the discussion but, if you both are talking about 
{{RemoteException}} here:

{code:java}
        
262         LambdaTestUtils.intercept(RemoteException.class,
263             "No namenodes available under nameservice " + ns0 + " from 
router "
264                 + routerContext.getRouter().getRouterId(),
265             () -> routerProtocol.mkdirs(dirPath, permission, false));
{code}

That it should be {{NoNamenodeException}} then it will not be so, neither 
before nor after, since the unwrapping is done manually, for all client 
operations in DFSClient per API and only those are unwrapped, all others goes 
unwrapped as {{RemoteException}}


{code:java}
      return namenode.mkdirs(src, absPermission, createParent);
    } catch (RemoteException re) {
      throw re.unwrapRemoteException(AccessControlException.class,
          InvalidPathException.class,
          FileAlreadyExistsException.class,
          FileNotFoundException.class,
          ParentNotDirectoryException.class,
          SafeModeException.class,
          NSQuotaExceededException.class,
          DSQuotaExceededException.class,
          QuotaByStorageTypeExceededException.class,
          UnresolvedPathException.class,
          SnapshotAccessControlException.class);
{code}

And I am not pretty sure but IIRC you can only unwrap the exceptions instance 
of IOE's only,


> RBF: Log Router identifier when reporting exceptions
> ----------------------------------------------------
>
>                 Key: HDFS-14284
>                 URL: https://issues.apache.org/jira/browse/HDFS-14284
>             Project: Hadoop HDFS
>          Issue Type: Sub-task
>            Reporter: Íñigo Goiri
>            Assignee: hemanthboyina
>            Priority: Major
>         Attachments: HDFS-14284.001.patch, HDFS-14284.002.patch, 
> HDFS-14284.003.patch, HDFS-14284.004.patch, HDFS-14284.005.patch, 
> HDFS-14284.006.patch
>
>
> The typical setup is to use multiple Routers through 
> ConfiguredFailoverProxyProvider.
> In a regular HA Namenode setup, it is easy to know which NN was used.
> However, in RBF, any Router can be the one reporting the exception and it is 
> hard to know which was the one.
> We should have a way to identify which Router/Namenode was the one triggering 
> the exception.
> This would also apply with Observer Namenodes.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

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

Reply via email to