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

Error List type cannot find data

kgor
New Contributor

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`

1 REPLY 1

j_angelevski
Contributor III

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.