[ 
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}} ,  {{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 
** 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 is created by merging both the update.chain and the 
request params. {{post-processor}} will be inserted right before the 
{{RunUpdateProcessorFactory}} in the chain.   and {{processor}} will be 
inserted right before the 
LogUpdateProcessorFactory,DistributedUpdateProcessorFactory

  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.
* 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 is created by merging both the update.chain and the 
request params. {{post-processor}} will be inserted right after the 
DistributedUpdateProcessor in the chain.   and {{processor}} will be inserted 
right in the beginning of the update.chain


> Improve the way update processors are used and make it simpler
> --------------------------------------------------------------
>
>                 Key: SOLR-6892
>                 URL: https://issues.apache.org/jira/browse/SOLR-6892
>             Project: Solr
>          Issue Type: Improvement
>            Reporter: Noble Paul
>            Assignee: Noble Paul
>         Attachments: SOLR-6892.patch
>
>
> 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}} ,  {{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 
> ** 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 is created by merging both the update.chain and 
> the request params. {{post-processor}} will be inserted right before the 
> {{RunUpdateProcessorFactory}} in the chain.   and {{processor}} will be 
> inserted right before the 
> LogUpdateProcessorFactory,DistributedUpdateProcessorFactory



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org

Reply via email to