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