# Scroll java API timeout setting seemingly no effact

**URL:** https://discuss.elastic.co/t/scroll-java-api-timeout-setting-seemingly-no-effact/50835
**Category:** Elasticsearch
**Created:** [May 24, 2016, 11:58am UTC](https://discuss.elastic.co/t/scroll-java-api-timeout-setting-seemingly-no-effact/50835 "2016-05-24T11:58:53Z")
**Posts on this page:** 4
**Page:** 1

<div class="post-metadata">

### Author: ![MarvelAgent](https://avatars.discourse-cdn.com/v4/letter/m/91b2a8/32.png) [@MarvelAgent](https://discuss.elastic.co/u/MarvelAgent)
#### Post date: [May 24, 2016, 11:58am UTC](https://discuss.elastic.co/t/scroll-java-api-timeout-setting-seemingly-no-effact/50835/1 "2016-05-24T11:58:53Z")

</div>

Hi, I wrote a program get data use the java scroll API, when set timeout equals 1 second, it seems elasticsearch used about 60 seconds to timeout. I used elasticsearch2.3.1.  
here is my code, any suggestion? thanks

```
@Test
public void testDuelIndexOrder() {
    Client client = ElasticClient.getClient();
    SearchResponse scroll = client.prepareSearch("ice")
            .setSize(1)
            .setQuery(QueryBuilders.matchQuery("taskId", "1"))
            .addSort(SortBuilders.fieldSort("age"))
            .setScroll("1s")
            .get();
    int scrollDocs = 0;
    try {
        while (true) {
            try {
                Thread.sleep(20000);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
            if (scroll.getHits().hits().length == 0) {
                break;
            }
            for (int i = 0; i < scroll.getHits().hits().length; ++i) {
                SearchHit scrollHit = scroll.getHits().getAt(i);
            }
            scrollDocs += scroll.getHits().hits().length;
            scroll = client.prepareSearchScroll(scroll.getScrollId()).setScroll("1s").get();
        }
    } catch (AssertionError e) {
        e.printStackTrace();
    }finally {
        System.out.println(scrollDocs);
        client.close();
    }
}
```

---

<div class="post-metadata">

### Author: ![jprante](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/jprante/32/44941_2.png) [@jprante](https://discuss.elastic.co/u/jprante)
#### Post date: [May 25, 2016, 9:24am UTC](https://discuss.elastic.co/t/scroll-java-api-timeout-setting-seemingly-no-effact/50835/2 "2016-05-25T09:24:08Z")

</div>

There is not much sense in using scroll life times \< 1 minute because the scroll housekeeper thread is running each minute.

If you want to kill your scroll context before the housekeeper thread catches up, send an explicit clear operation [https://www.elastic.co/guide/en/elasticsearch/reference/current/search-request-scroll.html#\_clear\_scroll\_api](https://www.elastic.co/guide/en/elasticsearch/reference/current/search-request-scroll.html#_clear_scroll_api)

---

<div class="post-metadata">

### Author: ![MarvelAgent](https://avatars.discourse-cdn.com/v4/letter/m/91b2a8/32.png) [@MarvelAgent](https://discuss.elastic.co/u/MarvelAgent)
#### Post date: [May 25, 2016, 9:43am UTC](https://discuss.elastic.co/t/scroll-java-api-timeout-setting-seemingly-no-effact/50835/3 "2016-05-25T09:43:46Z")

</div>

thanks a lot

---

<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: [July 5, 2017, 10:49pm UTC](https://discuss.elastic.co/t/scroll-java-api-timeout-setting-seemingly-no-effact/50835/4 "2017-07-05T22:49:07Z")

</div>


