{"action":"created","issue":{"url":"https://api.github.com/repos/elastic/elasticsearch/issues/19395","repository_url":"https://api.github.com/repos/elastic/elasticsearch","labels_url":"https://api.github.com/repos/elastic/elasticsearch/issues/19395/labels{/name}","comments_url":"https://api.github.com/repos/elastic/elasticsearch/issues/19395/comments","events_url":"https://api.github.com/repos/elastic/elasticsearch/issues/19395/events","html_url":"https://github.com/elastic/elasticsearch/issues/19395","id":165152266,"number":19395,"title":"Reindex from remote retry attempts","user":{"login":"javanna","id":832460,"avatar_url":"https://avatars.githubusercontent.com/u/832460?v=3","gravatar_id":"","url":"https://api.github.com/users/javanna","html_url":"https://github.com/javanna","followers_url":"https://api.github.com/users/javanna/followers","following_url":"https://api.github.com/users/javanna/following{/other_user}","gists_url":"https://api.github.com/users/javanna/gists{/gist_id}","starred_url":"https://api.github.com/users/javanna/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/javanna/subscriptions","organizations_url":"https://api.github.com/users/javanna/orgs","repos_url":"https://api.github.com/users/javanna/repos","events_url":"https://api.github.com/users/javanna/events{/privacy}","received_events_url":"https://api.github.com/users/javanna/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/elastic/elasticsearch/labels/:Reindex%20API","name":":Reindex API","color":"009800"},{"url":"https://api.github.com/repos/elastic/elasticsearch/labels/discuss","name":"discuss","color":"fbca04"}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":4,"created_at":"2016-07-12T18:50:13Z","updated_at":"2016-07-12T20:12:24Z","closed_at":null,"body":"Currently, reindex from remote allows to configure one single host to send http requests to. In case of failure, there are cases (e.g. 429 response code for search) where we schedule a retry for the same request against the same node. We also have a backoff policy so that bulk failures get retried too.\r\n\r\nI wonder if it makes sense to allow reindex from remote to either use the Sniffer and send requests to multiple nodes, or allow to configure multiple nodes, or both. In case multiple nodes are available, it makes much more sense to let the `RestClient` do the retries on a different node, then the current custom retry code would be less needed I think.\r\n\r\nThis issue is to discuss what makes sense to do in reindex from remote and whether we need to change anything there."},"comment":{"url":"https://api.github.com/repos/elastic/elasticsearch/issues/comments/232165241","html_url":"https://github.com/elastic/elasticsearch/issues/19395#issuecomment-232165241","issue_url":"https://api.github.com/repos/elastic/elasticsearch/issues/19395","id":232165241,"user":{"login":"HonzaKral","id":32132,"avatar_url":"https://avatars.githubusercontent.com/u/32132?v=3","gravatar_id":"","url":"https://api.github.com/users/HonzaKral","html_url":"https://github.com/HonzaKral","followers_url":"https://api.github.com/users/HonzaKral/followers","following_url":"https://api.github.com/users/HonzaKral/following{/other_user}","gists_url":"https://api.github.com/users/HonzaKral/gists{/gist_id}","starred_url":"https://api.github.com/users/HonzaKral/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/HonzaKral/subscriptions","organizations_url":"https://api.github.com/users/HonzaKral/orgs","repos_url":"https://api.github.com/users/HonzaKral/repos","events_url":"https://api.github.com/users/HonzaKral/events{/privacy}","received_events_url":"https://api.github.com/users/HonzaKral/received_events","type":"User","site_admin":false},"created_at":"2016-07-12T20:12:24Z","updated_at":"2016-07-12T20:12:24Z","body":"Agreed with Zach - it really should just round robin etc like regular clients, like the documented best practices. Including passing in multiple nodes via initial configuration and specifying custom timeout (indexing across data centers, slow network, weak cluster, ...). Also to follow same retry logic as the clients - retrying on `502`, `503` and `504` which is the current concensus.\r\n\r\nWe just need to make sure that anything that relies on environment (sniffing that won't work on nodes behind load balancer to give an example) can be turned off and is probably off by default."}}
{"actor":{"display_login":"HonzaKral"}}