Message and cloned message in rules on Stage pipeline

Hi,
I need a clarification/help on Rule on Pipeline stages.

This is my scenario and I try to explain the message lifecycle with you:

Input Gelf

 Stream1(with rule to address message that comes from Input Gelf)
      Pipeline1 connected to Stream1
           Stage0 
                    r1:(when has_field("connection") then //do something)
                    r2:(when has_field("url") the //do something else)
           Stage1 (when true then set_field(...); let x = clone_message();)
           Stage2 (when true then set_field(...);)
 Output -> System.out of file

Well the incaming message m in the Gelf Input is routed to the Stream1 then before output is managed by the pipeline.
The message comes into the Stage0 if the r1 contition in not evaluated it jump to the output without the Stage1 and Stage 2 evaluation, Is this correct? (with the configuration at least one rule…).

What is the best practice to be sure that the message walks through all stages? Crate a rule and its not (r1:has_field(“field1”) and r2: ! has_field(“field1”)) to be sure that the message goes to the next step?

Looking the cloned message, what happen to it? It restarts with the Stage0? or continue with the Stage2?

thanks to all those who want to help me understand
Gianluca

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.