Erick,

> You'll *really like* the SolrCloud stuff going into trunk when it's baked
> for a while....
How stable is SolrCloud at the moment?
I can not wait to try it out.

Kind regards,
Em


Am 22.02.2012 14:45, schrieb Erick Erickson:
> You'll *really like* the SolrCloud stuff going into trunk when it's baked
> for a while....
> 
> Best
> Erick
> 
> On Wed, Feb 22, 2012 at 3:25 AM, eks dev <eks...@googlemail.com> wrote:
>> Yes, I consciously let my slaves run away from the master in order to
>> reduce update latency, but every now and then they sync up with master
>> that is doing heavy lifting.
>>
>> The price you pay is that slaves do not see the same documents as the
>> master, but this is the case anyhow with replication, in my setup
>> slave may go ahead of master with updates, this delta gets zeroed
>> after replication and the game starts again.
>>
>> What you have to take into account with this is very small time window
>> where you may "go back in time" on slaves (not seeing documents that
>> were already there), but we are talking about seconds and a couple out
>> of 200Mio documents (only those documents that were softComited on
>> slave during replication, since commit ond master and postCommit on
>> slave).
>>
>> Why do you think something is strange here?
>>
>>> What are you expecting a BeforeCommitListener could do for you, if one
>>> would exist?
>> Why should I be expecting something?
>>
>> I just need to read userCommit Data as soon as replication is done,
>> and I am looking for proper/easy way to do it.  (postCommitListener is
>> what I use now).
>>
>> What makes me slightly nervous are those life cycle questions, e.g.
>> when I issue update command before and after postCommit event, which
>> index gets updated, the one just replicated or the one that was there
>> just before replication.
>>
>> There are definitely ways to optimize this, for example to force
>> replication handler to copy only delta files if index gets updated on
>> slave and master  (there is already todo somewhere on solr replication
>> Wiki I think). Now replicationHandler copies complete index if this
>> gets detected ...
>>
>> I am all ears if there are better proposals to have low latency
>> updates in multi server setup...
>>
>>
>> On Tue, Feb 21, 2012 at 11:53 PM, Em <mailformailingli...@yahoo.de> wrote:
>>> Eks,
>>>
>>> that sounds strange!
>>>
>>> Am I getting you right?
>>> You have a master which indexes batch-updates from time to time.
>>> Furthermore you got some slaves, pulling data from that master to keep
>>> them up-to-date with the newest batch-updates.
>>> Additionally your slaves index own content in soft-commit mode that
>>> needs to be available as soon as possible.
>>> In consequence the slavesare not in sync with the master.
>>>
>>> I am not 100% certain, but chances are good that Solr's
>>> replication-mechanism only changes those segments that are not in sync
>>> with the master.
>>>
>>> What are you expecting a BeforeCommitListener could do for you, if one
>>> would exist?
>>>
>>> Kind regards,
>>> Em
>>>
>>> Am 21.02.2012 21:10, schrieb eks dev:
>>>> Thanks Mark,
>>>> Hmm, I would like to have this information asap, not to wait until the
>>>> first search gets executed (depends on user) . Is solr going to create
>>>> new searcher as a part of "replication transaction"...
>>>>
>>>> Just to make it clear why I need it...
>>>> I have simple master, many slaves config where master does "batch"
>>>> updates in big chunks (things user can wait longer to see on search
>>>> side) but slaves work in soft commit mode internally where I permit
>>>> them to run away slightly from master.... in order to know where
>>>> "incremental update" should start, I read it from UserData ....
>>>>
>>>> Basically, ideally, before commit (after successful replication is
>>>> finished) ends, I would like to read in these counters to let
>>>> "incremental update" run from the right point...
>>>>
>>>> I need to prevent updating "replicated index" before I read this
>>>> information (duplicates can appear).... are there any "IndexWriter"
>>>> listeners around?
>>>>
>>>>
>>>> Thanks again,
>>>> eks.
>>>>
>>>>
>>>>
>>>> On Tue, Feb 21, 2012 at 8:03 PM, Mark Miller <markrmil...@gmail.com> wrote:
>>>>> Post commit calls are made before a new searcher is opened.
>>>>>
>>>>> Might be easier to try to hook in with a new searcher listener?
>>>>>
>>>>> On Feb 21, 2012, at 8:23 AM, eks dev wrote:
>>>>>
>>>>>> Hi all,
>>>>>> I am a bit confused with IndexSearcher refresh lifecycles...
>>>>>> In a master slave setup, I override postCommit listener on slave
>>>>>> (solr trunk version) to read some user information stored in
>>>>>> userCommitData on master
>>>>>>
>>>>>> ----------
>>>>>> @Override
>>>>>> public final void postCommit() {
>>>>>> // This returnes "stale" information that was present before
>>>>>> replication finished
>>>>>> RefCounted<SolrIndexSearcher> refC = core.getNewestSearcher(true);
>>>>>> Map<String, String> userData =
>>>>>> refC.get().getIndexReader().getIndexCommit().getUserData();
>>>>>> }
>>>>>> ------------
>>>>>> I expected core.getNewestSearcher(true); to return refreshed
>>>>>> SolrIndexSearcher, but it didn't
>>>>>>
>>>>>> When is this information going to be refreshed to the status from the
>>>>>> replicated index, I repeat this is postCommit listener?
>>>>>>
>>>>>> What is the way to get the information from the last commit point?
>>>>>>
>>>>>> Maybe like this?
>>>>>> core.getDeletionPolicy().getLatestCommit().getUserData();
>>>>>>
>>>>>> Or I need to explicitly open new searcher (isn't solr does this behind
>>>>>> the scenes?)
>>>>>> core.openNewSearcher(false, false)
>>>>>>
>>>>>> Not critical, reopening new searcher works, but I would like to
>>>>>> understand these lifecycles, when solr loads latest commit point...
>>>>>>
>>>>>> Thanks, eks
>>>>>
>>>>> - Mark Miller
>>>>> lucidimagination.com
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>
> 

Reply via email to