Artem Aliev created TINKERPOP-1754:
--------------------------------------

             Summary: Spark can not deserialise some ScriptRecordReader parse 
exceptions
                 Key: TINKERPOP-1754
                 URL: https://issues.apache.org/jira/browse/TINKERPOP-1754
             Project: TinkerPop
          Issue Type: Bug
          Components: hadoop
    Affects Versions: 3.3.0
            Reporter: Artem Aliev
            Priority: Minor


ScriptException refer to groovy exception that could point to "Script" class 
that is not available for system class loader. Spark can not deserialise the 
exception and user did not get the parse error.
To fix the problem ScriptRecordReader should not try to propagate all cause 
exceptions abut only the message with parse error.

Spark output:
{code}
WARN  [task-result-getter-0] 2017-08-16 11:11:41,777  TaskEndReason.scala:192 - 
Task exception could not be deserialized
java.lang.ClassNotFoundException: Script1
        at java.net.URLClassLoader.findClass(URLClassLoader.java:381) 
~[na:1.8.0_40]
        at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[na:1.8.0_40]
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) 
~[na:1.8.0_40]
        at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[na:1.8.0_40]
        at java.lang.Class.forName0(Native Method) ~[na:1.8.0_40]
        at java.lang.Class.forName(Class.java:348) ~[na:1.8.0_40]
        at 
org.apache.spark.serializer.JavaDeserializationStream$$anon$1.resolveClass(JavaSerializer.scala:67)
 ~[spark-core_2.11-2.2.0.0-bb4c2a9.jar:2.2.0.0-bb4c2a9]
        at 
java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1613) 
[na:1.8.0_40]
        at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1518) 
[na:1.8.0_40]
        at java.io.ObjectInputStream.readClass(ObjectInputStream.java:1484) 
[na:1.8.0_40]
        at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1334) 
[na:1.8.0_40]
        at 
java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1993) 
[na:1.8.0_40]
        at 
java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1918) 
[na:1.8.0_40]
        at 
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1801) 
[na:1.8.0_40]
        at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1351) 
[na:1.8.0_40]
        at 
java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1993) 
[na:1.8.0_40]
        at 
java.io.ObjectInputStream.defaultReadObject(ObjectInputStream.java:501) 
[na:1.8.0_40]
        at java.lang.Throwable.readObject(Throwable.java:914) ~[na:1.8.0_40]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
~[na:1.8.0_40]
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
~[na:1.8.0_40]
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 ~[na:1.8.0_40]
        at java.lang.reflect.Method.invoke(Method.java:497) ~[na:1.8.0_40]
        at 
java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1017) 
[na:1.8.0_40]
        at 
java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1896) 
[na:1.8.0_40]
        at 
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1801) 
[na:1.8.0_40]
        at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1351) 
[na:1.8.0_40]
        at 
java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1993) 
[na:1.8.0_40]
        at 
java.io.ObjectInputStream.defaultReadObject(ObjectInputStream.java:501) 
[na:1.8.0_40]
        at java.lang.Throwable.readObject(Throwable.java:914) ~[na:1.8.0_40]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
~[na:1.8.0_40]
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
~[na:1.8.0_40]
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 ~[na:1.8.0_40]
        at java.lang.reflect.Method.invoke(Method.java:497) ~[na:1.8.0_40]
        at 
java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1017) 
[na:1.8.0_40]
        at 
java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1896) 
[na:1.8.0_40]
        at 
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1801) 
[na:1.8.0_40]
        at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1351) 
[na:1.8.0_40]
        at java.io.ObjectInputStream.readObject(ObjectInputStream.java:371) 
[na:1.8.0_40]
        at 
org.apache.spark.ThrowableSerializationWrapper.readObject(TaskEndReason.scala:193)
 ~[spark-core_2.11-2.2.0.0-bb4c2a9.jar:2.2.0.0-bb4c2a9]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
~[na:1.8.0_40]
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
~[na:1.8.0_40]
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 ~[na:1.8.0_40]
        at java.lang.reflect.Method.invoke(Method.java:497) ~[na:1.8.0_40]
        at 
java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1017) 
[na:1.8.0_40]
        at 
java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1896) 
[na:1.8.0_40]
        at 
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1801) 
[na:1.8.0_40]
        at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1351) 
[na:1.8.0_40]
        at 
java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1993) 
[na:1.8.0_40]
        at 
java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1918) 
[na:1.8.0_40]
        at 
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1801) 
[na:1.8.0_40]
        at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1351) 
[na:1.8.0_40]
        at 
java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1993) 
[na:1.8.0_40]
        at 
java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1918) 
[na:1.8.0_40]
        at 
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1801) 
[na:1.8.0_40]
        at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1351) 
[na:1.8.0_40]
        at java.io.ObjectInputStream.readObject(ObjectInputStream.java:371) 
[na:1.8.0_40]
        at 
org.apache.spark.serializer.JavaDeserializationStream.readObject(JavaSerializer.scala:75)
 [spark-core_2.11-2.2.0.0-bb4c2a9.jar:2.2.0.0-bb4c2a9]
        at 
org.apache.spark.serializer.JavaSerializerInstance.deserialize(JavaSerializer.scala:114)
 [spark-core_2.11-2.2.0.0-bb4c2a9.jar:2.2.0.0-bb4c2a9]
        at 
org.apache.spark.scheduler.TaskResultGetter$$anon$4$$anonfun$run$2.apply$mcV$sp(TaskResultGetter.scala:136)
 [spark-core_2.11-2.2.0.0-bb4c2a9.jar:2.2.0.0-bb4c2a9]
        at 
org.apache.spark.scheduler.TaskResultGetter$$anon$4$$anonfun$run$2.apply(TaskResultGetter.scala:132)
 [spark-core_2.11-2.2.0.0-bb4c2a9.jar:2.2.0.0-bb4c2a9]
        at 
org.apache.spark.scheduler.TaskResultGetter$$anon$4$$anonfun$run$2.apply(TaskResultGetter.scala:132)
 [spark-core_2.11-2.2.0.0-bb4c2a9.jar:2.2.0.0-bb4c2a9]
        at org.apache.spark.util.Utils$.logUncaughtExceptions(Utils.scala:1954) 
[spark-core_2.11-2.2.0.0-bb4c2a9.jar:2.2.0.0-bb4c2a9]
        at 
org.apache.spark.scheduler.TaskResultGetter$$anon$4.run(TaskResultGetter.scala:132)
 [spark-core_2.11-2.2.0.0-bb4c2a9.jar:2.2.0.0-bb4c2a9]
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
[na:1.8.0_40]
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
[na:1.8.0_40]
        at java.lang.Thread.run(Thread.java:745) [na:1.8.0_40]
{code}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to