Hello all, For the first step of the distributed snapshot isolation system I'm developing for Solr, I'm going to need to have a MVCC mechanism as opposed to the single-version concurrency control mechanism already developed (DistributedUpdateProcessor class). I'm trying to find the very best way to develop this into Solr 4.x (trunk) and so any help would be greatly appreciated!
Essentially I need to be able to store multiple version of a document so that when you look up a document with a given timestamp, you're given the correct version (anything the same or older, not fresher). The older versioned documents need to be stored in the index itself to ensure they are durable and can be manipulated as other Solr data can be. One way to do this is to store the old versioned Solr documents within the latest Solr Document, but I'm not sure this is even possible? Alternatively, I could have the latest versioned Document store the unique keys which point to other older documents. The problem with this is that it complicates things having various partial objects which all combine as one logically document. Are there any suggestions as to the best way to develop this feature? Thank you in advance for any help you can spare! Nicholas