I'am having conflit's and just wanna know internal behavior of elastic that cause conflit's.
I'am using Java API 5.1.1 for load of documents to elastic.
I use bulk upsert and after a cicle with update with a script, and receive some conflit's (probably i send request to faster to same index and same document).
I know that version is important, and elastic work with version of a document (I think so), but in which moment elastic request a version of a document to posteriorly update them?
Elastic is assincronous, so suppose that in each request it will be passed on to queue.
If elastic receive a partial update on a document and a milisecond after receiving another request to set the value of a field based on the script sent and is nothing about the field previous alter, do not need to exist any conflit.
Also I notice that version 6.6 allow persitence on conflit, but do not belive that the team that is inserted will allow migration.
Standard ElasticSearch : 5.6.4
JAVA : 1.8_191
Windows 10 Build 1809
Elasticsearch does not do partial updates. If you update a document you update the whole document, which increments its version number. This can definitely result in conflicts if you are concurrently updating the same document twice.
Bulk updates are synchronous: you get a response once all the updates have been applied.
If elastic receive multi-thread synchronous bulk request will conflit, this is my bad. Do you have a opinion on best approach to load elastic ? I have a lot of updates in a close time window on same index and document
Is there a order that elastic follow on Bulk updates? The request are under a ArrayList so order is maintained, my question is elastic will follow that order?
If there are multiple operations on a single document in a bulk request then these are processed in order. There is no ordering guarantee across operations on separate documents. See here:
Apache, Apache Lucene, Apache Hadoop, Hadoop, HDFS and the yellow elephant
logo are trademarks of the
Apache Software Foundation
in the United States and/or other countries.