Closed heffergm closed 9 years ago
I failed to reproduce this error until I upgraded the pelias plugin to the latest version using the following command:
sudo bin/plugin -url https://github.com/pelias/elasticsearch-plugin/blob/1.3.4/pelias-analysis.zip?raw=true -install pelias-analysis
Once I upgraded I simply restarted the process and I saw this in /var/log/elasticsearch/elasticsearch.log
[2014-10-30 11:38:35,724][WARN ][cluster.action.shard ] [Super-Nova] [pelias][3] sending failed shard for [pelias][3], node[5_nyFKfGScKUBBxIXc7a1A], [P], s[INITIALIZING], indexUUID [tZ5dxxQPT6eb258ZEJ56cw], reason [Failed to start shard, message [IndexShardGatewayRecoveryException[[pelias][3] failed to recover shard]; nested: IndexFailedEngineException[[pelias][3] Index failed for [geoname#8045005]]; nested: IllegalStateException[TokenStream contract violation: reset()/close() call missing, reset() called multiple times, or subclass does not call super.reset(). Please see Javadocs of TokenStream class for more information about the correct consuming workflow.]; ]]
[2014-10-30 11:38:35,724][WARN ][cluster.action.shard ] [Super-Nova] [pelias][3] received shard failed for [pelias][3], node[5_nyFKfGScKUBBxIXc7a1A], [P], s[INITIALIZING], indexUUID [tZ5dxxQPT6eb258ZEJ56cw], reason [Failed to start shard, message [IndexShardGatewayRecoveryException[[pelias][3] failed to recover shard]; nested: IndexFailedEngineException[[pelias][3] Index failed for [geoname#8045005]]; nested: IllegalStateException[TokenStream contract violation: reset()/close() call missing, reset() called multiple times, or subclass does not call super.reset(). Please see Javadocs of TokenStream class for more information about the correct consuming workflow.]; ]]
@hkrishna might know more about how to solve this. My suspicion is that a java class inside the plugin is extending TokenStream and the subclass does not implement reset()
or does not call super.reset()
as per the following message: (I looked but I couldn't find it)
Caused by: java.lang.IllegalStateException: TokenStream contract violation: reset()/close() call missing, reset() called multiple times, or subclass does not call super.reset(). Please see Javadocs of TokenStream class for more information about the correct consuming workflow.
last time I compiled it myself, so I compiled it again without pulling the repo. I'm at: commit d1214b109c8395730c64ae552b2684b0847e44c5
Confirmed, reverting to an older version of the plugin fixes the issue and the indices re-open without corruption
Closing in favour of https://github.com/pelias/elasticsearch-plugin/issues/4
Summary steps to reproduce:
node scripts/create_index.js
bin/pelias-geonames -i YE
or with 'all' (I've tested a few other individual countries with the same result, for example IT)Details:
Big Issue Here