# Some questions about ES Optimistic Concurrency

**URL:** <https://discuss.elastic.co/t/some-questions-about-es-optimistic-concurrency/53755>\
**Category:** Elasticsearch\
**Created:** [June 23, 2016, 9:14am UTC](https://discuss.elastic.co/t/some-questions-about-es-optimistic-concurrency/53755 "2016-06-23T09:14:01Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![makeyang](https://avatars.discourse-cdn.com/v4/letter/m/f05b48/32.png) [@makeyang](https://discuss.elastic.co/u/makeyang)\
**Post date:** [June 23, 2016, 9:14am UTC](https://discuss.elastic.co/t/some-questions-about-es-optimistic-concurrency/53755/1 "2016-06-23T09:14:01Z")

</div>

1. concurrent update without specify version will cause update override, right?
2. will Optimistic Concurrency will guranett override never happen if we use version, right?
3. if 2 is true, then in code, each time to update a doc, a lock will be used before get version of a document and update it, right?

---

<div class="post-metadata">

**Author:** ![magnusbaeck](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/magnusbaeck/32/44943_2.png) [@magnusbaeck](https://discuss.elastic.co/u/magnusbaeck)\
**Post date:** [June 29, 2016, 7:58pm UTC](https://discuss.elastic.co/t/some-questions-about-es-optimistic-concurrency/53755/2 "2016-06-29T19:58:50Z")

</div>

1. I think you mean "overwrite" rather than "override", but yes.
2. Yes.
3. I'm not sure if you mean a lock in the client code or in the server code, but regardless the answer is no. Optimistic concurrency control via the version field does not require locks anywhere.

---

<div class="post-metadata">

**Author:** ![forloop](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/forloop/32/9021_2.png) [@forloop](https://discuss.elastic.co/u/forloop)\
**Post date:** [June 30, 2016, 1:51am UTC](https://discuss.elastic.co/t/some-questions-about-es-optimistic-concurrency/53755/3 "2016-06-30T01:51:14Z")

</div>

[I wrote about optimistic concurrency control in Elasticsearch](http://forloop.co.uk/blog/optimistic-concurrency-with-elasticsearch-and-nest); whilst the examples relate to using NEST, the .NET Elasticsearch client, the overview is applicable to Elasticsearch in general.

---

<div class="post-metadata">

**Author:** ![makeyang](https://avatars.discourse-cdn.com/v4/letter/m/f05b48/32.png) [@makeyang](https://discuss.elastic.co/u/makeyang)\
**Post date:** [June 30, 2016, 3:15am UTC](https://discuss.elastic.co/t/some-questions-about-es-optimistic-concurrency/53755/4 "2016-06-30T03:15:45Z")

</div>

thanks, man. it's very helpful

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [July 5, 2017, 10:39pm UTC](https://discuss.elastic.co/t/some-questions-about-es-optimistic-concurrency/53755/5 "2017-07-05T22:39:24Z")

</div>


