Forum Discussion
7 Replies
- alchemizContributor III
Hi jibin_s ,
Good day, had a similar scenario before...as a resolution I decoupled the pipeline then in the child pipeline set the all snaps "when error occurs" to "Stop Pipeline Execution" in this way any error that will occur in that child pipeline all on-going process will be aborted thus failing the pipeline then error will bubble-up to the parent pipeline from the pipeline execute ( if possible the child pipeline is reusable ) you can then trap/log the error
The refactored pipeline will be looking something like this ...
Parent/Main pipelineChild Pipeline (2)
EmEm
- koryknickEmployee
jibin_s - The reason that the In-Memory Lookup is being called is because you have "handled" the error from the Pipeline Execute by opening the error view on that snap, so the output view successfully closes and the In-Memory Lookup snap gets no data in the 121 bottom path (empty result) and still has the data from the 117 path, which is a perfectly valid state. Because SnapLogic is a streaming platform, I believe the In-Memory Lookup and all subsequent snaps in that path are simply finishing before the Exit snap has a chance to fail out the pipeline.
- jibin_sNew Contributor II
- alchemizContributor III
Hi jibin_s .. you should also include the in-memory lookup in the child pipeline if you want it this way try setting up the output from the REST as the left hand side then the streaming copied document as the right side this way if there's no matching output from REST it will not stream
- jibin_sNew Contributor II
Thanks, alchemiz!
- If I use the In-Memory Lookup in the child pipeline, I'm unsure to pass the content from Copy snap (i.e: Workday documents in this case) to the lookup.
- Yes, it will work if I swap the inputs in In-Memory Lookup. But if I change the inputs, I'll not be able to achieve the logic of comparing the data to be processed further.
I have managed to restructure my pipeline by adding following components:
- Pipeline Execute - Executes REST Get snap to retrieve documents from API
- Gate - Combines the inputs
- Router - Check if there there are any errors from REST Get input? If so, execute Exit else proceed further
- Mapper - Split the inputs and supplies them to In-Memory Lookup