05-06-2022 03:16 AM
Hello,
A pipleine I’m working on seems to attempt to execute the Upsert Content (2) snap before the Create Deal/Job snap is executed. Since the Content record is a child of the Deal/Job, the absence of the Deal/Job Id is causing the Upsert Content (2) to fail.
I’ve tried to route the documents down the one branch but the pipeline fails because Salesforce (the endpoint), doesn’t recognise the additional variables in the Map Deal/Job snap if the Pass Through option is selected.
I’m not sure how to best approach this.
Please note my understanding of SnapLogic is beginner level and I’m not a developer by trade.
05-06-2022 03:37 AM
What is the Join type?
05-06-2022 03:41 AM
05-06-2022 04:10 AM
Just seen this on the Join Snap article here:
Known Issue : When the upstream Snaps of the Join Snap contains Copy, Router, Aggregate, or similar Snaps, it is likely that the data flow of a branch in a Pipeline gets blocked until another branch completes streaming the document. The Join Snap might hang if its upstream Snaps in a Pipeline has a blocked branch.
Workaround : Set Sorted streams to Unsorted in the Join Snap to effectively buffer all documents in all input views internally—this unblocks the document flow of all the upstream branches. The internal sorters sort the input documents from the input views into the local temporary stage.
I’ll do some investigating
05-06-2022 05:39 AM
@NAl - if you want all the data to be inserted into the Create Deal/Job before any data is sent to the Upsert Content, you could simply place a Sort just before the Upsert. This will effectively cache all the data until the upstream snaps have completed.
You are basically running into a race condition where the Deal/Job records may not have been committed to the database before the Upsert Content tries to insert a new record that is reliant on that relationship.