[ 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