[ 
https://issues.apache.org/jira/browse/GOBBLIN-683?focusedWorklogId=201540&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-201540
 ]

ASF GitHub Bot logged work on GOBBLIN-683:
------------------------------------------

                Author: ASF GitHub Bot
            Created on: 20/Feb/19 19:13
            Start Date: 20/Feb/19 19:13
    Worklog Time Spent: 10m 
      Work Description: yukuai518 commented on pull request #2555: 
[GOBBLIN-683] Add azkaban client retry logic.
URL: https://github.com/apache/incubator-gobblin/pull/2555#discussion_r258635143
 
 

 ##########
 File path: 
gobblin-modules/gobblin-azkaban/src/main/java/org/apache/gobblin/service/modules/orchestration/AzkabanClient.java
 ##########
 @@ -88,19 +96,23 @@ protected AzkabanClient(String username,
                           String url,
                           long sessionExpireInMin,
                           CloseableHttpClient httpClient,
-                          SessionManager sessionManager)
+                          SessionManager sessionManager,
+                          ExecutorService executorService)
       throws AzkabanClientException {
     this.username = username;
     this.password = password;
     this.url = url;
     this.sessionExpireInMin = sessionExpireInMin;
     this.httpClient = httpClient;
     this.sessionManager = sessionManager;
+    this.executorService = executorService;
     this.initializeClient();
     this.initializeSessionManager();
+    this.intializeExecutorService();
     this.retryer = RetryerBuilder.<AzkabanClientStatus>newBuilder()
         .retryIfExceptionOfType(InvalidSessionException.class)
-        .withWaitStrategy(WaitStrategies.exponentialWait(10, TimeUnit.SECONDS))
+        .withAttemptTimeLimiter(AttemptTimeLimiters.fixedTimeLimit(10, 
TimeUnit.SECONDS, this.executorService))
 
 Review comment:
   The decision would be based on if you want to share the Azkaban producer or 
not, if you want to share the producer, then 300 is okay, but if you don't want 
to share, each job request will have its own AzkabanClient, then you could use 
SingleThreadPool. It depends on the implementation, that's why I give user 
option to setExecutorService() by themselves if they want to change the default 
behavior.
 
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Issue Time Tracking
-------------------

    Worklog Id:     (was: 201540)
    Time Spent: 1h 40m  (was: 1.5h)

> Azkaban client should retry if session gets expired
> ---------------------------------------------------
>
>                 Key: GOBBLIN-683
>                 URL: https://issues.apache.org/jira/browse/GOBBLIN-683
>             Project: Apache Gobblin
>          Issue Type: Improvement
>            Reporter: Kuai Yu
>            Assignee: Kuai Yu
>            Priority: Major
>          Time Spent: 1h 40m
>  Remaining Estimate: 0h
>




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

Reply via email to