SnapLogic Execution Mode Confusion: LOCAL_SNAPLEX vs SNAPLEX_WITH_PATH with pipe.plexPath
I understand the basic difference between the two execution options for child pipelines:
LOCAL_SNAPLEX: Executes the child pipeline on one of the available nodes within the same Snaplex as the parent pipeline.
SNAPLEX_WITH_PATH: Allows specifying a Snaplex explicitly through the Snaplex Path field. This is generally used to run the child pipeline on a different Snaplex.
However, I noticed a practical overlap:
Let’s say I have a Snaplex named integration-test.
If I choose LOCAL_SNAPLEX, the child pipeline runs on the same Snaplex (integration-test) as the parent.
If I choose SNAPLEX_WITH_PATH and set the path as pipe.plexPath, it also resolves to the same Snaplex (integration-test) where the parent is running — so the execution again happens locally.
I tested both options and found:
The load was distributed similarly in both cases.
Execution time was nearly identical.
So from a functional perspective, both seem to behave the same when the Snaplex path resolves to the same environment.
My question is:
What is the actual difference in behavior or purpose between these two options when pipe.plexPath resolves to the same Snaplex?
Also, why is using SNAPLEX_WITH_PATH with pipe.plexPath flagged as critical in the pipeline quality check, even though the behavior appears equivalent to LOCAL_SNAPLEX?
Curious if anyone has faced similar observations or can shed light on the underlying difference.
Ranjith - I have verified with our development team that you are correct that if the plex referenced in the Execute On is the same plex that the calling pipeline is running on, then SNAPLEX_WITH_PATH acts the same as LOCAL_SNAPLEX.
Analyze Pipeline is based on best practices established by the Professional Services team. This particular check appears to be based on an outdated understanding of the behavior of SNAPLEX_WITH_PATH. At one time, Pipeline Execute would go back to the Control Plane for load balancing whenever SNAPLEX_WITH_PATH was used, even when Execute On evaluates to the same plex as the calling pipeline. This check should be updated to a lesser warning or removed altogether.