Hi Chris, Your suspicion turned out to be spot on with a code glitch.
The history of this has been due to a fairly weak understanding of how partial update works. The first code error was just a simple,stupid one in which I was not working against a "current" copy of the document. But, when I got that single update working, I revised the unit test to increase the complexity. The core unit test creates two "nodes", and then wires them together with a third node which serves as a relation topic between the two nodes; yes, I am building topic maps here. Each actor node (SolrDocument) is constructed, then is updated with an addition to a multi-valued field which contains node identifiers for the TupleNode, a SolrDocument which turns a relationship between two actors into a topic itself. The update is that of adding a value to a previously empty field. The second version of the unit test creates the two actors, and a first relation, then adds a second one. This is where I discovered (lots of trial and error here), that you don't send in the list in the add or set, rather you send in one value at a time. I am imagining that the solution to sending in multivalued updates on the same field might mean a custom update handler which reduces HTTP round trips when dealing with a list of values to add. Perhaps there is a documented way to do multiple updates on the same document/field pair in a single call? Many thanks. Jack On Mon, Dec 31, 2012 at 12:06 PM, Chris Hostetter <hossman_luc...@fucit.org> wrote: > > : any of the cloud apparatus. I wish to update a document (Node) with > : new information. I send back as a partial update using SolrJ's add() > : command > : document id > : the new or updated field > : version number precisely as it was fetched > > can you give us more details about what your client code is doing -- > ideally just include a complate example. > > : What I get back is an error message: > : version conflict for MyFirstNode1356582803755 > : expected=1422480157168369664 actual=1422480158385766400 > > that error suggests that in between the time you downloaded the document, > and when you sent the request to update the document, some other update > was already recieved and changed the version number. > > : When I look at that document in the admin browser, it looks like this: > ... > : which means all the other data in that node were replaced. > > Are you sure the field values were replaced by *your* changes, the ones > that you sent when that error was returned, or is it possible some other > instnace of your code did the exact same update and got a success? > > Checking your server logs to see if multiple update commands were recieved > by solr is one way to help verify this. > > my suspicion is that maybe you have a glitch in your code that results in > the update operation actually happening twice -- and it's the second > update command that is getting the error. > > > > -Hoss