03-18-2021 03:18 PM
Getting following error message when running the Snap (no errors thrown when validating) , and resolution is very generic (also I am new to snaplogic)
Error message
Expression worked for 739 previous documents, but failed on document #740 with the error: List type does not have a method named: status, found in: …n.result.status. Perhaps you meant: sort, shift, lastIndexOf, toString, hasOwnProperty, unshift
Resolution:
Please check expression syntax and data types.
Hide Details…
Transaction Failure Router[5d9daced2c06b7666704ec4b_4be57702-9261-436c-a3bd-1d9477c7e5e5 – 150ee38e-341b-432b-9fe2-1e385ceb9fd6]
`com.snaplogic.snap.api.SnapDataException: Expression worked for 739 previous documents, but failed on document #740 with the error: List type does not have a method named: status, found in: …n.result.status. Perhaps you meant: sort, shift, lastIndexOf, toString, hasOwnProperty, unshift
at com.snaplogic.util.ExpressionUtils$MyExpressionProperty.eval(ExpressionUtils.java:297)
at com.snaplogic.snap.api.impl.PropertyValuesImpl$ValidatingExpressionProperty.eval(PropertyValuesImpl.java:1005)
at com.snaplogic.snap.api.impl.PropertyValuesImpl$ValidatingExpressionProperty.eval(PropertyValuesImpl.java:993)
at com.snaplogic.snaps.flow.Router.process(Router.java:218)
at com.snaplogic.snap.api.ExecutionUtil.process(ExecutionUtil.java:106)
at com.snaplogic.snap.api.ExecutionUtil.executeForDocument(ExecutionUtil.java:118)
at com.snaplogic.snap.api.ExecutionUtil.execute(ExecutionUtil.java:81)
at com.snaplogic.snap.api.SimpleSnap.execute(SimpleSnap.java:70)
at com.snaplogic.cc.snap.common.SnapRunnableImpl.executeSnap(SnapRunnableImpl.java:770)
at com.snaplogic.cc.snap.common.SnapRunnableImpl.execute(SnapRunnableImpl.java:552)
at com.snaplogic.cc.snap.common.SnapRunnableImpl.doRun(SnapRunnableImpl.java:836)
at com.snaplogic.cc.snap.common.SnapRunnableImpl.call(SnapRunnableImpl.java:402)
at com.snaplogic.cc.snap.common.SnapRunnableImpl.call(SnapRunnableImpl.java:116)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:834)
Resolution: Please check expression syntax and data types.
Error Fingerprint[0] = efp:com.snaplogic.util.RQqZCdjk`
Transaction Failure Router[5d9daced2c06b7666704ec4b_4be57702-9261-436c-a3bd-1d9477c7e5e5 – 150ee38e-341b-432b-9fe2-1e385ceb9fd6]
`com.snaplogic.cc.snap.common.ThreadDetails: prio=4 Id=54510 RUNNABLE
at java.base@11.0.7/java.lang.StackStreamFactory$AbstractStackWalker.fetchStackFrames(Native Method)
at java.base@11.0.7/java.lang.StackStreamFactory$AbstractStackWalker.fetchStackFrames(StackStreamFactory.java:386)
at java.base@11.0.7/java.lang.StackStreamFactory$AbstractStackWalker.getNextBatch(StackStreamFactory.java:322)
at java.base@11.0.7/java.lang.StackStreamFactory$AbstractStackWalker.peekFrame(StackStreamFactory.java:263)
at java.base@11.0.7/java.lang.StackStreamFactory$AbstractStackWalker.hasNext(StackStreamFactory.java:351)
at java.base@11.0.7/java.lang.StackStreamFactory$StackFrameTraverser.tryAdvance(StackStreamFactory.java:593)
at java.base@11.0.7/java.util.stream.ReferencePipeline.forEachWithCancel(ReferencePipeline.java:127)
at java.base@11.0.7/java.util.stream.AbstractPipeline.copyIntoWithCancel(AbstractPipeline.java:502)
…
at java.base@11.0.7/java.lang.StackStreamFactory$AbstractStackWalker.fetchStackFrames(Native Method)
at java.base@11.0.7/java.lang.StackStreamFactory$AbstractStackWalker.fetchStackFrames(StackStreamFactory.java:386)
at java.base@11.0.7/java.lang.StackStreamFactory$AbstractStackWalker.getNextBatch(StackStreamFactory.java:322)
at java.base@11.0.7/java.lang.StackStreamFactory$AbstractStackWalker.peekFrame(StackStreamFactory.java:263)
at java.base@11.0.7/java.lang.StackStreamFactory$AbstractStackWalker.hasNext(StackStreamFactory.java:351)
at java.base@11.0.7/java.lang.StackStreamFactory$StackFrameTraverser.tryAdvance(StackStreamFactory.java:593)
at java.base@11.0.7/java.util.stream.ReferencePipeline.forEachWithCancel(ReferencePipeline.java:127)
at java.base@11.0.7/java.util.stream.AbstractPipeline.copyIntoWithCancel(AbstractPipeline.java:502)
at java.base@11.0.7/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:488)
at java.base@11.0.7/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474)
at java.base@11.0.7/java.util.stream.FindOps$FindOp.evaluateSequential(FindOps.java:150)
at java.base@11.0.7/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.base@11.0.7/java.util.stream.ReferencePipeline.findFirst(ReferencePipeline.java:543)
at org.apache.logging.log4j.util.StackLocator.lambda$calcLocation$12(StackLocator.java:78)
at org.apache.logging.log4j.util.StackLocator$Lambda$99/0x0000000800256840.apply(Unknown Source)
at java.base@11.0.7/java.lang.StackStreamFactory$StackFrameTraverser.consumeFrames(StackStreamFactory.java:534)
at java.base@11.0.7/java.lang.StackStreamFactory$AbstractStackWalker.doStackWalk(StackStreamFactory.java:306)
at java.base@11.0.7/java.lang.StackStreamFactory$AbstractStackWalker.callStackWalk(Native Method)
at java.base@11.0.7/java.lang.StackStreamFactory$AbstractStackWalker.beginStackWalk(StackStreamFactory.java:370)
at java.base@11.0.7/java.lang.StackStreamFactory$AbstractStackWalker.walk(StackStreamFactory.java:243)
at java.base@11.0.7/java.lang.StackWalker.walk(StackWalker.java:498)
at org.apache.logging.log4j.util.StackLocator.calcLocation(StackLocator.java:75)
at org.apache.logging.log4j.util.StackLocatorUtil.calcLocation(StackLocatorUtil.java:71)
at org.apache.logging.log4j.core.impl.Log4jLogEvent.getSource(Log4jLogEvent.java:669)
at com.snaplogic.cc.log.JsonLogLayout.writeFileInfo(JsonLogLayout.java:136)
at com.snaplogic.cc.log.JsonLogLayout.writeAllFields(JsonLogLayout.java:109)
at com.snaplogic.cc.log.JsonLogLayout.toSerializable(JsonLogLayout.java:91)
at com.snaplogic.cc.log.JsonLogLayout.toSerializable(JsonLogLayout.java:43)
at org.apache.logging.log4j.core.layout.AbstractStringLayout.toByteArray(AbstractStringLayout.java:304)
at org.apache.logging.log4j.core.layout.AbstractLayout.encode(AbstractLayout.java:210)
at org.apache.logging.log4j.core.layout.AbstractLayout.encode(AbstractLayout.java:37)
at org.apache.logging.log4j.core.appender.AbstractOutputStreamAppender.directEncodeEvent(AbstractOutputStreamAppender.java:197)
at org.apache.logging.log4j.core.appender.AbstractOutputStreamAppender.tryAppend(AbstractOutputStreamAppender.java:190)
at org.apache.logging.log4j.core.appender.AbstractOutputStreamAppender.append(AbstractOutputStreamAppender.java:181)
at org.apache.logging.log4j.core.appender.RollingRandomAccessFileAppender.append(RollingRandomAccessFileAppender.java:252)
at org.apache.logging.log4j.core.config.AppenderControl.tryCallAppender(AppenderControl.java:156)
at org.apache.logging.log4j.core.config.AppenderControl.callAppender0(AppenderControl.java:129)
at org.apache.logging.log4j.core.config.AppenderControl.callAppenderPreventRecursion(AppenderControl.java:120)
at org.apache.logging.log4j.core.config.AppenderControl.callAppender(AppenderControl.java:84)
at org.apache.logging.log4j.core.config.LoggerConfig.callAppenders(LoggerConfig.java:464)
at org.apache.logging.log4j.core.config.LoggerConfig.processLogEvent(LoggerConfig.java:448)
at org.apache.logging.log4j.core.config.LoggerConfig.log(LoggerConfig.java:431)
at org.apache.logging.log4j.core.config.LoggerConfig.log(LoggerConfig.java:406)
at org.apache.logging.log4j.core.config.AwaitCompletionReliabilityStrategy.log(AwaitCompletionReliabilityStrategy.java:63)
at org.apache.logging.log4j.core.Logger.logMessage(Logger.java:146)
at org.apache.logging.log4j.spi.AbstractLogger.tryLogMessage(AbstractLogger.java:2170)
at org.apache.logging.log4j.spi.AbstractLogger.logMessageTrackRecursion(AbstractLogger.java:2125)
at org.apache.logging.log4j.spi.AbstractLogger.logMessageSafely(AbstractLogger.java:2108)
at org.apache.logging.log4j.spi.AbstractLogger.logMessage(AbstractLogger.java:2013)
at org.apache.logging.log4j.spi.AbstractLogger.logIfEnabled(AbstractLogger.java:1882)
at org.apache.logging.slf4j.Log4jLogger.warn(Log4jLogger.java:254)
at com.snaplogic.common.runtime.RuntimeStatus.setState(RuntimeStatus.java:275)
at com.snaplogic.cc.snap.common.SnapContext.failing(SnapContext.java:632)
at com.snaplogic.cc.snap.common.SnapRunnableImpl.failSnap(SnapRunnableImpl.java:996)
at com.snaplogic.cc.snap.common.SnapRunnableImpl.handleException(SnapRunnableImpl.java:981)
at com.snaplogic.cc.snap.common.SnapRunnableImpl.doRun(SnapRunnableImpl.java:857)
at com.snaplogic.cc.snap.common.SnapRunnableImpl.call(SnapRunnableImpl.java:402)
at com.snaplogic.cc.snap.common.SnapRunnableImpl.call(SnapRunnableImpl.java:116)
at java.base@11.0.7/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base@11.0.7/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
at java.base@11.0.7/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base@11.0.7/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base@11.0.7/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base@11.0.7/java.lang.Thread.run(Thread.java:834)
Error Fingerprint[0] = efp:java.lang.oGpzqXfl`
03-19-2021 01:13 AM
Hi @kgor,
I suppose you are trying to access the ‘status’ field of the input document ? If that’s the case try using the “.get()” method, with this method you can pass a default value if such field doesn’t exist in the input document. Example: $.get(“status”, “default”).
Also the reason why when validating no errors are thrown could be because the setting “Preview document count” is set to 50 by default, so when you validate you process only 50 documents and you never get to that #740th document.
Please share more info about this.