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