Be more resilient to the absence of id in the _source

Description

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?

Environment

None

Status

Assignee

Yoann Rodière

Reporter

Emmanuel Bernard

Labels

None

Suitable for new contributors

None

Feedback Requested

None

Fix versions

Affects versions

5.6.1.Final

Priority

Major
Configure