# Http\_poller "error": "Read timed out"

**URL:** <https://discuss.elastic.co/t/http-poller-error-read-timed-out/150899>\
**Category:** Logstash\
**Created:** [October 3, 2018, 1:32pm UTC](https://discuss.elastic.co/t/http-poller-error-read-timed-out/150899 "2018-10-03T13:32:00Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![frankfoti](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/frankfoti/32/26965_2.png) [@frankfoti](https://discuss.elastic.co/u/frankfoti)\
**Post date:** [October 3, 2018, 1:32pm UTC](https://discuss.elastic.co/t/http-poller-error-read-timed-out/150899/1 "2018-10-03T13:32:00Z")

</div>

Below works only when limiting return of snapshots to a small number. Curl on the full set of snapshots works fine. It appear request timeout is not helping either. What am I missing?

input {  
http\_poller {  
urls =\> {  
snapshot3 =\> {  
# Supports all options supported by ruby's Manticore HTTP client  
method =\> get  
url =\> "http://_._._._:9200/\_snapshot/production-elasticsearch2-bck/snapshot-_"  
headers =\> {  
Accept =\> "application/json"  
}  
}  
}  
keepalive =\> false  
request\_timeout =\> 360  
# Supports "cron", "every", "at" and "in" schedules by rufus scheduler  
schedule =\> { cron =\> "_/5 \* \* \* \* UTC"}  
codec =\> "json"  
# A hash of request metadata info (timing, response headers, etc.) will be sent here  
#metadata\_target =\> "http\_poller\_metadata"  
}  
}  
output {  
elasticsearch {  
hosts =\> ["cloudcontrol-elasticsearch1.office.re.local:9200"]  
index =\> "elasticsearch-backup"  
document\_type =\> "backup"  
document\_id =\> "rrc102-production"  
}  
}

---

<div class="post-metadata">

**Author:** ![frankfoti](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/frankfoti/32/26965_2.png) [@frankfoti](https://discuss.elastic.co/u/frankfoti)\
**Post date:** [October 3, 2018, 3:42pm UTC](https://discuss.elastic.co/t/http-poller-error-read-timed-out/150899/2 "2018-10-03T15:42:41Z")

</div>

Resolved this by adding socket\_timeout and adjusted timeouts to be \< interval (5 mins)

keepalive =\> false  
request\_timeout =\> 180  
socket\_timeout =\> 180  
# Supports "cron", "every", "at" and "in" schedules by rufus scheduler  
schedule =\> { cron =\> "\*/5 \* \* \* \* UTC"}

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [October 31, 2018, 3:42pm UTC](https://discuss.elastic.co/t/http-poller-error-read-timed-out/150899/3 "2018-10-31T15:42:41Z")

</div>

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.
