[
https://issues.apache.org/jira/browse/SOLR-6892?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Noble Paul updated SOLR-6892:
-----------------------------
Description:
The current update processor chain is rather cumbersome and we should be able
to use the updateprocessors without a chain.
The scope of this ticket is
* A new tag {{<updateProcessor>}} becomes a toplevel tag and it will be
equivalent to the {{<processor>}} tag inside {{<updateRequestProcessorChain>}}
. The only difference is that it should require a {{name}} attribute. The
{{<updateProcessorChain>}} tag will continue to exist and it should be possible
to define <processor> inside as well . It should also be possible to reference
a named URP in a chain.
* processors will be added in the request with their names . Example
{{{processor=a,b,c}} , {{pre-processor=p,q,r}} or {{post-processor=x,y,z}} .
This creates an implicit chain of the named URPs the order they are specified
* There are multiple request parameters supported by update request
** pre-processor : This chain is executed at the node that receives the
request. Other nodes will not execute this
** processor : This chain is executed executed at the leader right before the
LogUpdateProcessorFactory + DistributedUpdateProcessorFactory . The replicas
will not execute this.
** post-processor : This chain is executed right before the RunUpdateProcessor
in all replicas , including the leader
* What happens to the update.chain parameter ? update.chain will be honored .
The implicit chain created will be executed inserted before all the processors
in the chain. post-processor will be inserted right after the
DistributedUpdateProcessor in the chain.
was:
The current update processor chain is rather cumbersome and we should be able
to use the updateprocessors without a chain.
The scope of this ticket is
* A new tag <updateProcessor> becomes a toplevel tag and it will be equivalent
to the {{<processor>}} tag inside {{<updateRequestProcessorChain>}} . The only
difference is that it should require a {{name}} attribute. The
{{<updateProcessorChain>}} tag will continue to exist and it should be possible
to define <processor> inside as well . It should also be possible to reference
a named URP in a chain.
* Any update request will be able to pass a param {{processor=a,b,c}} , where
a,b,c are names of update processors. A just in time chain will be created with
those URPs
* Some in built update processors (wherever possible) will be predefined with
standard names and can be directly used in requests
* What happens when I say processor=a,b,c in a request? It will execute the
default chain after the just-in-time chain {{a->b->c}} .
* How to execute a different chain other than the default chain? the same old
mechanism of update.chain=x means that the chain {{x}} will be applied after
{{a,b,c}}
* How to avoid the default processor chain from being executed ? There will be
an implicit URP called {{STOP}} . send your request as processor=a,b,c,STOP.
> Make it possible to define update request processors as toplevel components
> ----------------------------------------------------------------------------
>
> Key: SOLR-6892
> URL: https://issues.apache.org/jira/browse/SOLR-6892
> Project: Solr
> Issue Type: Improvement
> Reporter: Noble Paul
> Assignee: Noble Paul
>
> The current update processor chain is rather cumbersome and we should be able
> to use the updateprocessors without a chain.
> The scope of this ticket is
> * A new tag {{<updateProcessor>}} becomes a toplevel tag and it will be
> equivalent to the {{<processor>}} tag inside
> {{<updateRequestProcessorChain>}} . The only difference is that it should
> require a {{name}} attribute. The {{<updateProcessorChain>}} tag will
> continue to exist and it should be possible to define <processor> inside as
> well . It should also be possible to reference a named URP in a chain.
> * processors will be added in the request with their names . Example
> {{{processor=a,b,c}} , {{pre-processor=p,q,r}} or {{post-processor=x,y,z}} .
> This creates an implicit chain of the named URPs the order they are specified
> * There are multiple request parameters supported by update request
> ** pre-processor : This chain is executed at the node that receives the
> request. Other nodes will not execute this
> ** processor : This chain is executed executed at the leader right before the
> LogUpdateProcessorFactory + DistributedUpdateProcessorFactory . The replicas
> will not execute this.
> ** post-processor : This chain is executed right before the
> RunUpdateProcessor in all replicas , including the leader
> * What happens to the update.chain parameter ? update.chain will be honored .
> The implicit chain created will be executed inserted before all the
> processors in the chain. post-processor will be inserted right after the
> DistributedUpdateProcessor in the chain.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]