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