The primary reason is as Ishan says - so that update reorders from leader to replica can be handled in both normal and failure cases.
It’s also true that a part of the reason that the per document, NRT design, with versions, was chosen was a desire to support per document optimistic concurrency. On Tue, Oct 17, 2023 at 11:37 PM Ishan Chattopadhyaya < ichattopadhy...@gmail.com> wrote: > Also DBQs use the version field to ensure they are applied correctly, even > if a DBQ is reordered > > On Wed, 18 Oct, 2023, 10:05 am Ishan Chattopadhyaya, < > ichattopadhy...@gmail.com> wrote: > > > To ensure reordered updates are processed properly from leader to other > > replicas in NRT replication mode. > > > > On Wed, 18 Oct, 2023, 9:55 am David Smiley, <dsmi...@apache.org> wrote: > > > >> Question: Does the _version_ field have a purpose other than for "atomic > >> updates"? > >> I know SolrCloud and/or having an UpdateLog insists on it. But I don't > >> know if it's for that feature alone, or for additional non-obvious > >> internal > >> workings of SolrCloud. Mostly I'm just asking to have a deeper > >> understanding; the field doesn't bother me. If someone knows of any > docs > >> on it or old interesting JIRAs to read, I'd appreciate it. > >> > >> ~ David Smiley > >> Apache Lucene/Solr Search Developer > >> http://www.linkedin.com/in/davidwsmiley > >> > > >