Thanks Mike,
> but a key difference is that when one client commits, all clients will see 
> the updates
That's ok.

What about the <autoCommit>-setting(s) in solrconfig.xml. Doesn't this mean 
that after adding x elements (or after a certain timeframe), the changes are 
commited and hence no more rollbackable? Or do the autoCommit-settings only 
affect/control the commits to the Solr-transaction.log?

-Clemens

-----Ursprüngliche Nachricht-----
Von: Michael Sokolov [mailto:msoko...@safaribooksonline.com] 
Gesendet: Dienstag, 20. Januar 2015 14:54
An: solr-user@lucene.apache.org
Betreff: Re: transactions@Solr(J)

On 1/20/2015 5:18 AM, Clemens Wyss DEV wrote:
> http://stackoverflow.com/questions/10805117/solr-transaction-managemen
> t-using-solrj Is it true, that a SolrServer-instance denotes a 
> "transaction context"?
>
> Say I have two concurrent threads, each having a SolrServer-instance 
> "pointing" to the same core. Then each thread can add/update/delete documents 
> without "affecting" the other thread/SolrServer-instance?
> Must <autoCommit> be switched off for this to work?
Solr does not provide transactional isolation like you might be familiar with 
from a relational DB.  There are commit and rollback, so no updates are seen 
until a commit (including autocommit), but a key difference is that when one 
client commits, all clients will see the updates, since index readers are 
shared, not associated with a specific client.  The underlying Lucene index has 
the ability to maintain an open reader even after another writer has issued a 
commit, but this isn't accessible via Solr.

-Mike

Reply via email to