[ https://issues.apache.org/jira/browse/BEAM-3026?focusedWorklogId=135890&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-135890 ]
ASF GitHub Bot logged work on BEAM-3026: ---------------------------------------- Author: ASF GitHub Bot Created on: 17/Aug/18 22:42 Start Date: 17/Aug/18 22:42 Worklog Time Spent: 10m Work Description: aalbatross commented on issue #6146: [BEAM-3026] Adding retrying behavior on ElasticSearchIO URL: https://github.com/apache/beam/pull/6146#issuecomment-414005728 @echauchot Updated the PR based on comments: Changes are as follows : 1. Updated the design remove the common classes, used AutoValue Builder for RetryConfiguration In ESIO, 2. RetryPredicate using Response object instead of using Throwable. 3. Removed maxDuration default in ESIO. 4. Updated the retry logic with similar logic provided in comment. 5. Explanation of using 2 in expected retries in testWriteRetry : 3 is max attempt, which includes 1 original request and 2 retries. Updated the constants. 6. Updated java doc specific comments. ---------------------------------------------------------------- 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: 135890) Time Spent: 10h 10m (was: 10h) > Improve retrying in ElasticSearch client > ---------------------------------------- > > Key: BEAM-3026 > URL: https://issues.apache.org/jira/browse/BEAM-3026 > Project: Beam > Issue Type: Improvement > Components: io-java-elasticsearch > Reporter: Tim Robertson > Assignee: Ravi Pathak > Priority: Major > Fix For: 2.7.0 > > Time Spent: 10h 10m > Remaining Estimate: 0h > > Currently an overloaded ES server will result in clients failing fast. > I suggest implementing backoff pauses. Perhaps something like this: > {code} > ElasticsearchIO.ConnectionConfiguration conn = > ElasticsearchIO.ConnectionConfiguration > .create(new String[]{"http://...:9200"}, "test", "test") > .retryWithWaitStrategy(WaitStrategies.exponentialBackoff(1000, > TimeUnit.MILLISECONDS) > .retryWithStopStrategy(StopStrategies.stopAfterAttempt(10) > ); > {code} -- This message was sent by Atlassian JIRA (v7.6.3#76005)