I have upgraded the application from 5.6.0.Beta3 to 5.6.1.Final without reindexing. The index structure was generated by 5.6.0.Beta3 but read by 5.6.1.Final.
I received the following exception
The root cause is that the _source includes the id in 5.6.0.Final and uses it to retrieve the entity id whereas the 5.6.0.Beta3 did not include it and was expecting the id from the index structure proper.
I wonder a few things:
should we have thrown the inner exception of the bulk operations instead of swallowing (strict mapping error).
should we catch any EntityInfo with a null id early on during query and raise a more meaningful exception? That one is a rhetorical question, of course we should.
should we be more lenient toward older mappings and fallback to reading id the old fashion way?