pelias / schema

elasticsearch schema files and tooling
MIT License
40 stars 75 forks source link

Create index leads to java.lang.ClassCastException exception in ES logs #69

Closed hahla closed 8 years ago

hahla commented 9 years ago

Setup was:

Checking logs revealed following stack trace: [2015-07-16 01:02:46,447][INFO ][gateway ] [Nemesis] recovered [1] indices into cluster_state [2015-07-16 01:02:47,105][WARN ][index.warmer ] [Nemesis] [pelias][0] failed to warm-up global ordinals for [center_point] java.lang.ClassCastException: org.elasticsearch.index.fielddata.plain.GeoPointDoubleArrayIndexFieldData cannot be cast to org.elasticsearch.index.fielddata.IndexFieldData$Global at org.elasticsearch.search.SearchService$FieldDataWarmer$3.run(SearchService.java:953) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745)

missinglink commented 9 years ago

thanks, I'll look in to it, I'm running elasticsearch 1.5.2 locally, it seems 1.6.0 has only just been released and we've not had time to test against it yet.

missinglink commented 9 years ago

the cause of this issue is this setting https://github.com/pelias/schema/blob/master/mappings/partial/centroid.js#L16 which worked fine in previous versions, the changelog for 1.6.0 is epic so will need more investigation

missinglink commented 9 years ago

@hahla I wasn't able to reproduce with the following setup, could you please provide more info?

$ git log -1
commit 3fac8f3322c268f50aef4d784098dc4820a5f1e4
Author: Peter Johnson <insomnia@rcpt.at>
Date:   Mon Jul 6 19:05:52 2015 +0200

    1.0.0
$ uname -a
Linux mini 3.13.0-55-generic #94-Ubuntu SMP Thu Jun 18 00:27:10 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
$ cat /etc/issue
Ubuntu 14.04.2 LTS \n \l
$ node --version
v0.10.38
$ java -version
java version "1.8.0_45"
Java(TM) SE Runtime Environment (build 1.8.0_45-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.45-b02, mixed mode)
$ curl localhost:9200
{
  "status" : 200,
  "name" : "Omerta",
  "cluster_name" : "elasticsearch",
  "version" : {
    "number" : "1.6.0",
    "build_hash" : "cdd3ac4dde4f69524ec0a14de3828cb95bbb86d0",
    "build_timestamp" : "2015-06-09T13:36:34Z",
    "build_snapshot" : false,
    "lucene_version" : "4.10.4"
  },
  "tagline" : "You Know, for Search"
}
$ node scripts/create_index.js 
[put mapping]    pelias      { acknowledged: true }

$ echo $?
0
missinglink commented 9 years ago

oh wait, I see it in the logs now:

[2015-07-16 15:41:25,997][WARN ][index.warmer             ] [Omerta] [pelias][0] failed to warm-up global ordinals for [center_point]
java.lang.ClassCastException: org.elasticsearch.index.fielddata.plain.GeoPointDoubleArrayIndexFieldData cannot be cast to org.elasticsearch.index.fielddata.IndexFieldData$Global

it's just a warning message and nothing to worry about, it's just saying "you didn't have any data when I tried to warm up my index caches so I did nothing"

missinglink commented 9 years ago

wait, this! https://github.com/elastic/elasticsearch/issues/8044

orangejulius commented 8 years ago

Hey everyone, There hasn't been any activity here in a while, and I think we've determined there's no issue, just a confusing Elasticsearch warning. If that's not true, feel free to reopen (note that Elasticsearch 2 is now required), and of course feel free to open new tickets for any other issues! :checkered_flag: