That would be “do-not-overwrite”. wunder Walter Underwood wun...@wunderwood.org http://observer.wunderwood.org/ (my blog)
> On Nov 27, 2019, at 4:38 PM, Walter Underwood <wun...@wunderwood.org> wrote: > > Even if that works, it is evil as something to leave in a client codebase. > Maybe a do-no-overwrite flag would be useful. > > wunder > Walter Underwood > wun...@wunderwood.org > http://observer.wunderwood.org/ (my blog) > >> On Nov 27, 2019, at 3:24 PM, Alexandre Rafalovitch <arafa...@gmail.com> >> wrote: >> >> How about Optimistic Concurrency with _version_ set to negative value? >> >> You could inject that extra value in URP chain if need be. >> >> Regards, >> Alex >> >> On Wed, Nov 27, 2019, 5:41 PM Aaron Hoffer, <aa...@hoffer.org> wrote: >> >>> We want to prevent Solr from overwriting an existing document if document's >>> ID already exists in the core. >>> >>> This unit test fails because the update/overwrite is permitted: >>> >>> public void testUpdateProhibited() { >>> final Index index = baseInstance(); >>> indexRepository.save(index); >>> Index index0 = indexRepository.findById(INDEX_ID).get(); >>> index0.setContents("AAA"); >>> indexRepository.save(index0); >>> Index index1 = indexRepository.findById(INDEX_ID).get(); >>> assertThat(index, equalTo(index1)); >>> } >>> >>> >>> The failure is: >>> Expected: <Index(contents=AAA, id=a2d8464ed41b4766a888617ecbcac573, ...> >>> but: was <Index(contents=Winterfell, id=a2d8464ed41b4766a888617ecbcac573, >>> ...> >>> >>> What do I need to do prevent the second save from overwriting the existing >>> document? >>> >>> I commented out the updateHandler in the solr config file, to no effect. >>> We are using Spring Data with Solr 8.1. >>> In the core's schema, id is defined as unique like this: >>> <uniqueKey>id</uniqueKey> >>> >