I found the bug in array resizing code. Raised issue at https://github.com/elasticsearch/elasticsearch/issues/7556.
On Tuesday, September 2, 2014 3:30:54 PM UTC+1, Colin Goodheart-Smithe wrote: > > Ok, yes this does look like a bug so if you could raise an issue on github > and post the issue link back in this thread, that would be great. > > Thanks > > Colin > > On Tuesday, 2 September 2014 15:23:23 UTC+1, Owain Braddick wrote: >> >> Hi, >> >> I hit exactly the same issue today. It seems that the problem occurs when >> the number of buckets in the outer geohash grid aggregation goes above a >> certain number (around 50 in my tests but that could be system dependent). >> The stack trace is below but doesn't tell much. If someone can confirm this >> is a bug I am happy to raise an issue. >> >> [2014-09-02 14:46:54,698][DEBUG][action.search.type ] [3-D Man] >> [typename][0], node[sEDEsE4GQ2yqxVb5njslDQ], [P], s[STARTED]: Failed to >> execute [org.elasticsearch.action.search.SearchRequest@37a97844] lastShard >> [true] >> org.elasticsearch.search.query.QueryPhaseExecutionException: >> [typename][0]: >> query[filtered(filtered(fieldname:other)->*:*)->cache(_type:indexname)],from[0],size[10]: >> >> Query Failed [Failed to execute main query] >> at org.elasticsearch.search.query.QueryPhase.execute(QueryPhase.java:162) >> at >> org.elasticsearch.search.SearchService.executeQueryPhase(SearchService.java:261) >> at >> org.elasticsearch.search.action.SearchServiceTransportAction$5.call(SearchServiceTransportAction.java:206) >> at >> org.elasticsearch.search.action.SearchServiceTransportAction$5.call(SearchServiceTransportAction.java:203) >> at >> org.elasticsearch.search.action.SearchServiceTransportAction$23.run(SearchServiceTransportAction.java:517) >> at >> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) >> at >> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) >> at java.lang.Thread.run(Thread.java:744) >> Caused by: java.lang.ArrayIndexOutOfBoundsException >> [2014-09-02 14:46:54,699][DEBUG][action.search.type ] [3-D Man] >> [typename][3], node[sEDEsE4GQ2yqxVb5njslDQ], [P], s[STARTED]: Failed to >> execute [org.elasticsearch.action.search.SearchRequest@37a97844] lastShard >> [true] >> org.elasticsearch.search.query.QueryPhaseExecutionException: >> [typename][3]: >> query[filtered(filtered(fieldname:other)->*:*)->cache(_type:indexname)],from[0],size[10]: >> >> Query Failed [Failed to execute main query] >> at org.elasticsearch.search.query.QueryPhase.execute(QueryPhase.java:162) >> at >> org.elasticsearch.search.SearchService.executeQueryPhase(SearchService.java:261) >> at >> org.elasticsearch.search.action.SearchServiceTransportAction$5.call(SearchServiceTransportAction.java:206) >> at >> org.elasticsearch.search.action.SearchServiceTransportAction$5.call(SearchServiceTransportAction.java:203) >> at >> org.elasticsearch.search.action.SearchServiceTransportAction$23.run(SearchServiceTransportAction.java:517) >> at >> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) >> at >> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) >> at java.lang.Thread.run(Thread.java:744) >> Caused by: java.lang.ArrayIndexOutOfBoundsException >> [2014-09-02 14:46:54,707][DEBUG][action.search.type ] [3-D Man] >> [typename][4], node[sEDEsE4GQ2yqxVb5njslDQ], [P], s[STARTED]: Failed to >> execute [org.elasticsearch.action.search.SearchRequest@37a97844] lastShard >> [true] >> org.elasticsearch.search.query.QueryPhaseExecutionException: >> [typename][4]: >> query[filtered(filtered(fieldname:other)->*:*)->cache(_type:indexname)],from[0],size[10]: >> >> Query Failed [Failed to execute main query] >> at org.elasticsearch.search.query.QueryPhase.execute(QueryPhase.java:162) >> at >> org.elasticsearch.search.SearchService.executeQueryPhase(SearchService.java:261) >> at >> org.elasticsearch.search.action.SearchServiceTransportAction$5.call(SearchServiceTransportAction.java:206) >> at >> org.elasticsearch.search.action.SearchServiceTransportAction$5.call(SearchServiceTransportAction.java:203) >> at >> org.elasticsearch.search.action.SearchServiceTransportAction$23.run(SearchServiceTransportAction.java:517) >> at >> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) >> at >> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) >> at java.lang.Thread.run(Thread.java:744) >> Caused by: java.lang.ArrayIndexOutOfBoundsException >> [2014-09-02 14:46:54,708][DEBUG][action.search.type ] [3-D Man] >> [typename][1], node[sEDEsE4GQ2yqxVb5njslDQ], [P], s[STARTED]: Failed to >> execute [org.elasticsearch.action.search.SearchRequest@37a97844] lastShard >> [true] >> org.elasticsearch.search.query.QueryPhaseExecutionException: >> [typename][1]: >> query[filtered(filtered(fieldname:other)->*:*)->cache(_type:indexname)],from[0],size[10]: >> >> Query Failed [Failed to execute main query] >> at org.elasticsearch.search.query.QueryPhase.execute(QueryPhase.java:162) >> at >> org.elasticsearch.search.SearchService.executeQueryPhase(SearchService.java:261) >> at >> org.elasticsearch.search.action.SearchServiceTransportAction$5.call(SearchServiceTransportAction.java:206) >> at >> org.elasticsearch.search.action.SearchServiceTransportAction$5.call(SearchServiceTransportAction.java:203) >> at >> org.elasticsearch.search.action.SearchServiceTransportAction$23.run(SearchServiceTransportAction.java:517) >> at >> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) >> at >> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) >> at java.lang.Thread.run(Thread.java:744) >> Caused by: java.lang.ArrayIndexOutOfBoundsException >> [2014-09-02 14:46:54,713][DEBUG][action.search.type ] [3-D Man] >> [typename][2], node[sEDEsE4GQ2yqxVb5njslDQ], [P], s[STARTED]: Failed to >> execute [org.elasticsearch.action.search.SearchRequest@37a97844] >> org.elasticsearch.search.query.QueryPhaseExecutionException: >> [typename][2]: >> query[filtered(filtered(fieldname:other)->*:*)->cache(_type:indexname)],from[0],size[10]: >> >> Query Failed [Failed to execute main query] >> at org.elasticsearch.search.query.QueryPhase.execute(QueryPhase.java:162) >> at >> org.elasticsearch.search.SearchService.executeQueryPhase(SearchService.java:261) >> at >> org.elasticsearch.search.action.SearchServiceTransportAction$5.call(SearchServiceTransportAction.java:206) >> at >> org.elasticsearch.search.action.SearchServiceTransportAction$5.call(SearchServiceTransportAction.java:203) >> at >> org.elasticsearch.search.action.SearchServiceTransportAction$23.run(SearchServiceTransportAction.java:517) >> at >> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) >> at >> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) >> at java.lang.Thread.run(Thread.java:744) >> Caused by: java.lang.ArrayIndexOutOfBoundsException >> [2014-09-02 14:46:54,714][DEBUG][action.search.type ] [3-D Man] All >> shards failed for phase: [query] >> >> >> On Friday, July 25, 2014 2:47:39 PM UTC+1, Colin Goodheart-Smithe wrote: >>> >>> Could you post the full stack trace from the elasticsearch log file? >>> This will help in working out where the query falls over >>> >>> Thanks >>> >>> On Friday, 25 July 2014 01:18:49 UTC+1, svartalf wrote: >>>> >>>> It is really odd, but it failed for me on the precision levels 6 and 7 >>>> with a ArrayIndexOutOfBoundsException, and working for 5 and 8 levels. >>>> >>>> I had put a big query examples here: >>>> https://gist.github.com/svartalf/5db600e7ea2907fbda3a >>>> >>>> >>>> четверг, 24 июля 2014 г., 18:05:30 UTC+9 пользователь Colin >>>> Goodheart-Smithe написал: >>>>> >>>>> I think the problem is that you have an extra aggregations object >>>>> surrounding the geo_bounds aggregation. Try the following: >>>>> >>>>> curl -XGET "http://localhost:9200/postings/_search" -d' >>>>> { >>>>> "query": { >>>>> "filtered": { >>>>> "filter": { >>>>> "geo_bounding_box": { >>>>> "point": { >>>>> "bottom_right": [ >>>>> 104.45856200712711, >>>>> 52.208730692828844 >>>>> ], >>>>> "top_left": [ >>>>> 104.19077025908017, >>>>> 52.34035674074375 >>>>> ] >>>>> } >>>>> } >>>>> }, >>>>> "query": { >>>>> "match_all": {} >>>>> } >>>>> } >>>>> }, >>>>> "aggregations": { >>>>> "cells": { >>>>> "geohash_grid": { >>>>> "field": "point", >>>>> "precision": 6 >>>>> }, >>>>> "aggregations": { >>>>> "lat": { >>>>> "avg": { >>>>> "script": "doc[\"point\"].lat" >>>>> } >>>>> }, >>>>> "lon": { >>>>> "avg": { >>>>> "script": "doc[\"point\"].lon" >>>>> } >>>>> }, >>>>> "hits": { >>>>> "top_hits": { >>>>> "_source": { >>>>> "include": [ >>>>> "short_description" >>>>> ] >>>>> }, >>>>> "size": 1 >>>>> } >>>>> }, >>>>> "bounds": { >>>>> "geo_bounds": { >>>>> "field": "point" >>>>> } >>>>> } >>>>> } >>>>> } >>>>> }, >>>>> "size": 0 >>>>> }' >>>>> >>>>> On Thursday, 24 July 2014 09:32:10 UTC+1, svartalf wrote: >>>>>> >>>>>> Here is an example: >>>>>> https://gist.github.com/svartalf/c3cb76c40dd4fa1374fa >>>>>> >>>>>> I'm using two inner aggregation functions, and with "top_hits" >>>>>> removed, "geo_bounds" works sometimes, and sometimes fails with a >>>>>> `response_2.json` (in the example) or `response_3.json`. >>>>>> With an enabled "top_hits" aggregator it is also throwing >>>>>> `response_1.json` text. >>>>>> >>>>>> I'm trying to group points into the buckets and annotate them with a >>>>>> top_hit item and geo bounds for each bucket, and got stuck a little. >>>>>> Maybe >>>>>> I should move one of those two aggregations one level deeper? >>>>>> >>>>>> четверг, 24 июля 2014 г., 16:52:01 UTC+9 пользователь Colin >>>>>> Goodheart-Smithe написал: >>>>>>> >>>>>>> You should be able to achieve this with the below query. If you >>>>>>> still cannot get it working could you provide a cURL example which >>>>>>> reproduces your issue? >>>>>>> >>>>>>> curl -XGET "http://localhost:9200/geo/_search" -d' >>>>>>> { >>>>>>> "size": 0, >>>>>>> "aggs": { >>>>>>> "geohash" : { >>>>>>> "geohash_grid": { >>>>>>> "field": "location", >>>>>>> "precision": 3 >>>>>>> }, >>>>>>> "aggs": { >>>>>>> "subbounds": { >>>>>>> "geo_bounds": { >>>>>>> "field": "location" >>>>>>> } >>>>>>> } >>>>>>> } >>>>>>> } >>>>>>> } >>>>>>> }' >>>>>>> >>>>>>> On Thursday, 24 July 2014 07:46:31 UTC+1, svartalf wrote: >>>>>>>> >>>>>>>> Is there any way to use geo_bounds as a sub aggregator? >>>>>>>> >>>>>>>> I have a geohash_grid aggregation, and it will be very useful to >>>>>>>> get bounds for each bucket of the data. >>>>>>>> Right now my ES 1.3.0 says that he "Could not find aggregator type >>>>>>>> [bounds] in [aggregations]]". >>>>>>>> >>>>>>> -- You received this message because you are subscribed to the Google Groups "elasticsearch" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/elasticsearch/9e69e502-f8d3-49d4-be19-90673c1e118a%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
