cancel
Showing results forย 
Search instead forย 
Did you mean:ย 

Error pipeline STOPPED - WAITING on java.util.concurrent.locks.AbstractQueuedSynchronizer

Szymon
New Contributor II

Hi SL gurus,

I designed an async pipeline, see picture.
I created an error pipeline and defined it in my async pipeline properties.
I created a triggered task for my async pipeline.

Now, to simulate an error, I put some trash into JSON Formatter.
Whenever calling this erro pipeline, the error pipeline gets โ€˜STOPPEDโ€™ and throws an error:
โ€œMapper[5da81a2d878b923ec79c3a7d_473187f9-8ccf-4d12-960b-2c5bdfcb71a2 โ€“ 17c15874-2051-4a28-9e3f-c265f73416ce]
com.snaplogic.cc.snap.common.ThreadDetails: prio=4 Id=6469533 WAITING on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@14f2b639
at java.base@11.0.2/jdk.internal.misc.Unsafe.park(Native Method)
- waiting on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@14f2b639
at java.base@11.0.2/java.util.concurrent.locks.LockSupport.park(LockSupport.java:194)โ€

If i execute the pipeline directly with some mapper in front of it, it fails and error pipeline fails with:
โ€œReason: The root pipeline execution is no longer runningโ€

This error is telling me NOTHING.
I would expect the error pipeline to write a JSON file, as designed, not to fail.
Any hints are more than welcome.

So what is the proper design of error behaviour, so I do not get trash like this?
Yes, I went through this already:
https://docs-snaplogic.atlassian.net/wiki/spaces/SD/pages/81526859/Handling+Errors+with+an+Error+Pip...

thank you
cheers
Simon ๐Ÿ™‚error-snap-async

1 REPLY 1

Szymon
New Contributor II

Hi,

I have tested a bit more. If I force an error in e.g. Mapper3 or LogMessage (see picture below), I see the child-error-pipeline getting executed fine. Only, when I force an error in JSON Formatter Snap, it fails with the error message mentioned in the initial post.
Is it a BUG or a FEATURE, that JSON Formatter does not call error pipeline properly? Are there other snaps with this FEATURE?

I also noticed, that the child-error-pipeline only gets executed once, for all the errors in the pipeline, WOW-1!
What is more, even if errors occured in more snaps, pipeline gets executed further, and I see โ€œCompletedโ€ status in the Dashboard, WOW-2! โ† this probably is why, error pipeline gets executed only once. Is there a possibility to force the pipeline to stop on error and use error pipeline?

cheers
Simon ๐Ÿ™‚
error-snap-async2