[
https://issues.apache.org/jira/browse/HADOOP-14443?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Santhosh G Nayak updated HADOOP-14443:
--------------------------------------
Attachment: HADOOP-14443.3.patch
[~liuml07] Thanks for the comments. I have fixed few of those and attached a
new patch,
1. {{@Override}} annotation to new line.
2. Marked the parameters such as {{op}}, {{renewer}}, {{service}} and
{{token}} as constants?
3. There is a default retry spec which will be used, if user wants to override,
he can do so. If this is not recommended in Hadoop codebase, we can remove the
configuration.
4. Added {{Thread.currentThread().interrupt()}} in
{{WasbRemoteCallHelper::shouldRetry()}} when {{InterruptedException}} occurs.
5. This patch consolidates various http helpers which make common SPNEGO
connection into {{WasbRemoteCallHelper}} and {{SecureWasbRemoteCallHelper}}. It
makes easier to apply the same retry/failover logic to various remote HTTP
calls. I am afraid separating it may be difficult.
> Azure: Add retry and client side failover for authorization, SASKey
> generation and delegation token generation requests to remote service
> -----------------------------------------------------------------------------------------------------------------------------------------
>
> Key: HADOOP-14443
> URL: https://issues.apache.org/jira/browse/HADOOP-14443
> Project: Hadoop Common
> Issue Type: Improvement
> Components: fs/azure
> Affects Versions: 2.9.0
> Reporter: Santhosh G Nayak
> Assignee: Santhosh G Nayak
> Fix For: 2.9.0, 3.0.0-alpha4
>
> Attachments: HADOOP-14443.1.patch, HADOOP-14443.2.patch,
> HADOOP-14443.3.patch
>
>
> Currently, {{WasRemoteCallHelper}} can be configured to talk to only one URL
> for authorization, SASKey generation and delegation token generation. If for
> some reason the service is down, all the requests will fail.
> So proposal is to,
> - Add support to configure multiple URLs, so that if communication to one URL
> fails, client can retry on another instance of the service running on
> different node for authorization, SASKey generation and delegation token
> generation.
> - Rename the configurations {{fs.azure.authorization.remote.service.url}} to
> {{fs.azure.authorization.remote.service.urls}} and
> {{fs.azure.cred.service.url}} to {{fs.azure.cred.service.urls}} to support
> the comma separated list of URLs.
> Introduce a new configuration {{fs.azure.delegation.token.service.urls}} to
> configure the comma separated list of service URLs to get the delegation
> token.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]