lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Hoss Man (JIRA)" <>
Subject [jira] [Updated] (SOLR-2822) don't run update processors twice
Date Thu, 17 May 2012 21:05:09 GMT


Hoss Man updated SOLR-2822:

    Attachment: SOLR-2822.patch

patch i worked up during the last couple of weeks (but evidently forgot to upload)

* implements the general idea i outlined before (using the interface name "DistributingUpdateProcessorFactory"
instead of DistributedUpdateMarker)
* includes a randomized test demonstrating the existing problem with doc adds and update processors
both before and after the distrib handler -- but this was just shoehorned into an existing
test and should be refactored
* needs more unit tests - particularly something non randomized that does a straight forward
verification of the processor skipping done by the chain
* I want to add a NoOpDistributingUpdateProcessorFactory - both for testing and for easy use
by any existing SolrCloud users who want absolute total control of their chains (ie: isn't
using DistributedUpdateProcessorFactory and is building shards their own custom way)
* has a few nocommits - other then things i've already mentioned, they are primarily related
to docs and logging

One interesting thing i didn't realize until i started implementing this is that the deleteByQuery
code path already had something nearly identical to my update.distrib=NONE|TOLEADER|FROMLEADER
param value (via a "dqb_level=1|2|3") .. i take that as validation that generalizing it to
replace the existing SEEN_LEADER logic in the other code paths isn't a bad idea.

> don't run update processors twice
> ---------------------------------
>                 Key: SOLR-2822
>                 URL:
>             Project: Solr
>          Issue Type: Sub-task
>          Components: SolrCloud, update
>            Reporter: Yonik Seeley
>             Fix For: 4.0
>         Attachments: SOLR-2822.patch
> An update will first go through processors until it gets to the point where it is forwarded
to the leader (or forwarded to replicas if already on the leader).
> We need a way to skip over the processors that were already run (perhaps by using a processor
chain dedicated to sub-updates?

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