lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Per Steffensen (Created) (JIRA)" <>
Subject [jira] [Created] (SOLR-3178) Versioning - optimistic locking
Date Wed, 29 Feb 2012 12:17:57 GMT
Versioning - optimistic locking

                 Key: SOLR-3178
             Project: Solr
          Issue Type: New Feature
          Components: update
    Affects Versions: 3.5
         Environment: All
            Reporter: Per Steffensen
            Assignee: Per Steffensen
             Fix For: 4.0

In order increase the ability of Solr to be used as a NoSql database (lots of concurrent inserts,
updates, deletes and queries in the entire lifetime of the index) instead of just a search
index (first: everything indexed (in one thread), after: only queries), I would like Solr
to support versioning to be used for optimistic locking.
When my intent (see SOLR-3173) is to update an existing document, I will need to provide a
version-number equal to "the version number I got when I fetched the existing document for
update" plus one. If this provided version-number does not correspond to "the newest version-number
of that document at the time of update" plus one, I will get a VersionConflict error. If it
does correspond the document will be updated with the new one, so that "the newest version-number
of that document" is NOW one higher than before the update. Correct but efficient concurrency
When my intent (see SOLR-3173) is to insert a new document, the version number provided will
not be used - instead a version-number 0 will be used. According to SOLR-3173 insert will
only succeed if a document with the same value on uniqueKey-field does not already exist.

In general when talking about different versions of "the same document", of course we need
to be able to identify when a document "is the same" - that, per definition, is when the values
of the uniqueKey-fields are equal. 

The functionality provided by this issue is only really meaningfull when you run with "updateLog"

This issue might be solved more or less at the same time as SOLR-3173, and only one single
SVN patch might be given to cover both issues.

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:!default.jspa
For more information on JIRA, see:


To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message