Hi,

Rollback is a good feature for people who are using Solr in non SolrCloud
mode.

I like Jan's idea of exposing IW.commit(Map<String,String> commitUserData)
to Solr. A quick look at this shows that this doesn't exist yet (
http://wiki.apache.org/solr/UpdateXmlMessages#A.22commit.22_and_.22optimize.22
)

Then we could probably let the user pass the commitUserData which he tagged
the commit with to rollback, and perform a rollback. Basically rollbacks
can only be preformed to a commit which has been explicitly tagged.

I think this should solve a lot of problems regarding rollback. If this is
solvable using this method I'll create the necessary JIRA's to fix it.

This method should also fix this issue pointed out I think.
https://issues.apache.org/jira/browse/SOLR-4733

Mark, This idea or any other approach still wouldn't support rollbacks in
SolrCloud right?



On Fri, May 10, 2013 at 5:21 AM, Jan Høydahl <jan....@cominvent.com> wrote:

> Hi,
>
> Thanks for clarifying, I have been thinking that full RAMbuffer triggered
> a commit, but I now see the difference between a flush of a segment and
> further down the road a commit which then links all these intermediate
> segments with that particular commit.
>
> So ROLLBACK closes the writer but instead of persisting docs with a
> commit, it cleans up all uncommitted (flushed or not) doc and files. This
> is actually not as bad as I thought.
>
> So the main catch with ROLLBACK then is if COMMITs are done by other
> clients or if autoCommit or commitWithin is being used. However, after
> reading http://blog.mikemccandless.com/2012/03/transactional-lucene.htmlI see 
> that it is possible to tag COMMITs with userData, so we could make
> the rollback actually roll back to the last explicit commit (still assuming
> you're the only client around) if, say AutoCommits and CommitWithins are
> tagged as such.
>
> So I'm OK if you guys rather want to start improve the ROLLBACK API
> instead of deprecating it. A client should be certain that ALL docs since
> last commit gets rolled back, else the rollback command must fail.
>
>  --
> Jan Høydahl, search solution architect
> Cominvent AS - www.cominvent.com
>
> 9. mai 2013 kl. 20:49 skrev Mikhail Khludnev <mkhlud...@griddynamics.com>:
>
> Mark,
> thanks for confirming my feeling.
>
> Hence, I ask for leaving it for "old-school" deployments. However, it's a
> good thing to clearly indicate to the user that it's not implemented for
> tlog. What about log WARN/ERROR and/or throw an exception with explanation?
>
>
>
> On Thu, May 9, 2013 at 10:28 AM, Jack Krupansky 
> <j...@basetechnology.com>wrote:
>
>> This does highlight that rollback is perfectly reasonable for embedded
>> Solr or other "dedicated", single-node, well-controlled apps, even if it
>> doesn't work for cloud.
>>
>> -- Jack Krupansky
>>
>> -----Original Message----- From: Mark Miller
>> Sent: Thursday, May 09, 2013 1:09 PM
>>
>> To: dev@lucene.apache.org
>> Subject: Re: [Discussion] Discontinue the ROLLBACK command in Solr?
>>
>> RAMbuffer doesn't affect this stuff - if you rollback, it rolls back to
>> the last commit point. Flushed segments are fine.
>>
>> - Mark
>>
>> On May 9, 2013, at 12:54 PM, Mikhail Khludnev <mkhlud...@griddynamics.com>
>> wrote:
>>
>>  Jan,
>>> Could you please clarify current rollback functionality to me? Let's I
>>> have autoCommit disabled, but my RAMbuffer is not huge, hence I have few
>>> flushes after previous commit. if I invoke rollback will it forget about
>>> flushed segments?
>>>
>>>
>>>
>>> On Thu, May 2, 2013 at 12:38 AM, Jan Høydahl <jan....@cominvent.com>
>>> wrote:
>>> Hi,
>>>
>>> Many are confused about the rollback feature in Solr, since it cannot
>>> guarantee a rollback of updates from that client since last commit.
>>>
>>> In my opinion it is pretty useless to have a rollback feature you cannot
>>> rely upon - Unless, that is, you are the only client for sure, having no
>>> autoCommit, and a huge RAMbuffer.
>>>
>>> So why don't we simply deprecate the feature in 4.x and remove it from
>>> 5.0?
>>>
>>> --
>>> Jan Høydahl, search solution architect
>>> Cominvent AS - www.cominvent.com
>>> Solr Training - www.solrtraining.com
>>>
>>>
>>> ------------------------------**------------------------------**
>>> ---------
>>> To unsubscribe, e-mail: 
>>> dev-unsubscribe@lucene.apache.**org<dev-unsubscr...@lucene.apache.org>
>>> For additional commands, e-mail: dev-h...@lucene.apache.org
>>>
>>>
>>>
>>>
>>> --
>>> Sincerely yours
>>> Mikhail Khludnev
>>> Principal Engineer,
>>> Grid Dynamics
>>>
>>>
>>>
>>
>> ------------------------------**------------------------------**---------
>> To unsubscribe, e-mail: 
>> dev-unsubscribe@lucene.apache.**org<dev-unsubscr...@lucene.apache.org>
>> For additional commands, e-mail: dev-h...@lucene.apache.org
>>
>> ------------------------------**------------------------------**---------
>> To unsubscribe, e-mail: 
>> dev-unsubscribe@lucene.apache.**org<dev-unsubscr...@lucene.apache.org>
>> For additional commands, e-mail: dev-h...@lucene.apache.org
>>
>>
>
>
> --
> Sincerely yours
> Mikhail Khludnev
> Principal Engineer,
> Grid Dynamics
>
> <http://www.griddynamics.com/>
>  <mkhlud...@griddynamics.com>
>
>
>


-- 


Regards,
Varun Thacker
http://www.vthacker.in/

Reply via email to