Yin Huai created SPARK-12036:
--------------------------------

             Summary: No applicable constructor/method when calling collect on 
a Dataset
                 Key: SPARK-12036
                 URL: https://issues.apache.org/jira/browse/SPARK-12036
             Project: Spark
          Issue Type: Bug
          Components: SQL
            Reporter: Yin Huai
            Priority: Critical


In Spark shell, I tried 

{code}
case class Person(name: String, age: Int)
val dataframe = 
sqlContext.read.json("/Users/yhuai/Projects/Spark/yin-spark-2/examples/src/main/resources/people.json")
val ds = dataframe.as[Person]
ds.collect
{code}
Then, I got
{code}
15/11/28 10:40:51 ERROR GenerateSafeProjection: failed to compile: 
org.codehaus.commons.compiler.CompileException: File 'generated.java', Line 46, 
Column 67: No applicable constructor/method found for actual parameters 
"java.lang.String, long"; candidates are: 
"$line15.$read$$iwC$$iwC$Person(java.lang.String, int)"
/* 001 */ 
/* 002 */ public java.lang.Object 
generate(org.apache.spark.sql.catalyst.expressions.Expression[] expr) {
/* 003 */   return new SpecificSafeProjection(expr);
/* 004 */ }
/* 005 */ 
/* 006 */ class SpecificSafeProjection extends 
org.apache.spark.sql.catalyst.expressions.codegen.BaseProjection {
/* 007 */   
/* 008 */   private org.apache.spark.sql.catalyst.expressions.Expression[] 
expressions;
/* 009 */   private org.apache.spark.sql.catalyst.expressions.MutableRow 
mutableRow;
/* 010 */   
/* 011 */   
/* 012 */   
/* 013 */   public 
SpecificSafeProjection(org.apache.spark.sql.catalyst.expressions.Expression[] 
expr) {
/* 014 */     expressions = expr;
/* 015 */     mutableRow = new 
org.apache.spark.sql.catalyst.expressions.GenericMutableRow(1);
/* 016 */     
/* 017 */   }
/* 018 */   
/* 019 */   public java.lang.Object apply(java.lang.Object _i) {
/* 020 */     InternalRow i = (InternalRow) _i;
/* 021 */     /* newinstance(class 
$line15.$read$$iwC$$iwC$Person,invoke(input[1, 
StringType],toString,ObjectType(class java.lang.String)),input[0, 
LongType],false,ObjectType(class 
$line15.$read$$iwC$$iwC$Person),Some($line15.$read$$iwC$$iwC@62303b81)) */
/* 022 */     /* invoke(input[1, StringType],toString,ObjectType(class 
java.lang.String)) */
/* 023 */     /* input[1, StringType] */
/* 024 */     boolean isNull4 = i.isNullAt(1);
/* 025 */     UTF8String primitive5 = isNull4 ? null : (i.getUTF8String(1));
/* 026 */     
/* 027 */     
/* 028 */     boolean isNull2 = primitive5 == null;
/* 029 */     java.lang.String primitive3 =
/* 030 */     isNull2 ?
/* 031 */     null : (java.lang.String) primitive5.toString();
/* 032 */     isNull2 = primitive3 == null;
/* 033 */     /* input[0, LongType] */
/* 034 */     boolean isNull6 = i.isNullAt(0);
/* 035 */     long primitive7 = isNull6 ? -1L : (i.getLong(0));
/* 036 */     /* $line15.$read$$iwC$$iwC@62303b81 */
/* 037 */     /* expression: $line15.$read$$iwC$$iwC@62303b81 */
/* 038 */     java.lang.Object obj10 = expressions[0].eval(i);
/* 039 */     boolean isNull8 = obj10 == null;
/* 040 */     $line15.$read$$iwC$$iwC primitive9 = null;
/* 041 */     if (!isNull8) {
/* 042 */       primitive9 = ($line15.$read$$iwC$$iwC) obj10;
/* 043 */     }
/* 044 */     
/* 045 */     
/* 046 */     $line15.$read$$iwC$$iwC$Person primitive1 = primitive9.new 
Person(primitive3, primitive7);
/* 047 */     final boolean isNull0 = primitive1 == null;
/* 048 */     if (isNull0) {
/* 049 */       mutableRow.setNullAt(0);
/* 050 */     } else {
/* 051 */       
/* 052 */       mutableRow.update(0, primitive1);
/* 053 */     }
/* 054 */     
/* 055 */     return mutableRow;
/* 056 */   }
/* 057 */ }
/* 058 */ 

org.codehaus.commons.compiler.CompileException: File 'generated.java', Line 46, 
Column 67: No applicable constructor/method found for actual parameters 
"java.lang.String, long"; candidates are: 
"$line15.$read$$iwC$$iwC$Person(java.lang.String, int)"
        at 
org.codehaus.janino.UnitCompiler.compileError(UnitCompiler.java:10174)
        at 
org.codehaus.janino.UnitCompiler.findMostSpecificIInvocable(UnitCompiler.java:7559)
        at 
org.codehaus.janino.UnitCompiler.invokeConstructor(UnitCompiler.java:6505)
        at org.codehaus.janino.UnitCompiler.compileGet2(UnitCompiler.java:4126)
        at org.codehaus.janino.UnitCompiler.access$7600(UnitCompiler.java:185)
        at 
org.codehaus.janino.UnitCompiler$10.visitNewClassInstance(UnitCompiler.java:3275)
        at org.codehaus.janino.Java$NewClassInstance.accept(Java.java:4085)
        at org.codehaus.janino.UnitCompiler.compileGet(UnitCompiler.java:3290)
        at 
org.codehaus.janino.UnitCompiler.compileGetValue(UnitCompiler.java:4368)
        at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:1845)
        at org.codehaus.janino.UnitCompiler.access$2000(UnitCompiler.java:185)
        at 
org.codehaus.janino.UnitCompiler$4.visitLocalVariableDeclarationStatement(UnitCompiler.java:945)
        at 
org.codehaus.janino.Java$LocalVariableDeclarationStatement.accept(Java.java:2508)
        at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:958)
        at 
org.codehaus.janino.UnitCompiler.compileStatements(UnitCompiler.java:1007)
        at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:2293)
        at 
org.codehaus.janino.UnitCompiler.compileDeclaredMethods(UnitCompiler.java:822)
        at 
org.codehaus.janino.UnitCompiler.compileDeclaredMethods(UnitCompiler.java:794)
        at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:507)
        at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:658)
        at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:662)
        at org.codehaus.janino.UnitCompiler.access$600(UnitCompiler.java:185)
        at 
org.codehaus.janino.UnitCompiler$2.visitMemberClassDeclaration(UnitCompiler.java:350)
        at 
org.codehaus.janino.Java$MemberClassDeclaration.accept(Java.java:1035)
        at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:354)
        at 
org.codehaus.janino.UnitCompiler.compileDeclaredMemberTypes(UnitCompiler.java:769)
        at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:532)
        at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:393)
        at org.codehaus.janino.UnitCompiler.access$400(UnitCompiler.java:185)
        at 
org.codehaus.janino.UnitCompiler$2.visitPackageMemberClassDeclaration(UnitCompiler.java:347)
        at 
org.codehaus.janino.Java$PackageMemberClassDeclaration.accept(Java.java:1139)
        at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:354)
        at org.codehaus.janino.UnitCompiler.compileUnit(UnitCompiler.java:322)
        at 
org.codehaus.janino.SimpleCompiler.compileToClassLoader(SimpleCompiler.java:383)
        at 
org.codehaus.janino.ClassBodyEvaluator.compileToClass(ClassBodyEvaluator.java:315)
        at 
org.codehaus.janino.ClassBodyEvaluator.cook(ClassBodyEvaluator.java:233)
        at org.codehaus.janino.SimpleCompiler.cook(SimpleCompiler.java:192)
        at org.codehaus.commons.compiler.Cookable.cook(Cookable.java:84)
        at 
org.apache.spark.sql.catalyst.expressions.codegen.CodeGenerator.org$apache$spark$sql$catalyst$expressions$codegen$CodeGenerator$$doCompile(CodeGenerator.scala:566)
        at 
org.apache.spark.sql.catalyst.expressions.codegen.CodeGenerator$$anon$1.load(CodeGenerator.scala:591)
        at 
org.apache.spark.sql.catalyst.expressions.codegen.CodeGenerator$$anon$1.load(CodeGenerator.scala:588)
        at 
com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3599)
        at 
com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2379)
        at 
com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2342)
        at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2257)
        at com.google.common.cache.LocalCache.get(LocalCache.java:4000)
        at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:4004)
        at 
com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4874)
        at 
org.apache.spark.sql.catalyst.expressions.codegen.CodeGenerator.compile(CodeGenerator.scala:531)
        at 
org.apache.spark.sql.catalyst.expressions.codegen.GenerateSafeProjection$.create(GenerateSafeProjection.scala:178)
        at 
org.apache.spark.sql.catalyst.expressions.codegen.GenerateSafeProjection$.create(GenerateSafeProjection.scala:30)
        at 
org.apache.spark.sql.catalyst.expressions.codegen.CodeGenerator.generate(CodeGenerator.scala:604)
        at 
org.apache.spark.sql.catalyst.encoders.ExpressionEncoder.constructProjection$lzycompute(ExpressionEncoder.scala:183)
        at 
org.apache.spark.sql.catalyst.encoders.ExpressionEncoder.constructProjection(ExpressionEncoder.scala:183)
        at 
org.apache.spark.sql.catalyst.encoders.ExpressionEncoder.fromRow(ExpressionEncoder.scala:205)
        at 
org.apache.spark.sql.Dataset$$anonfun$collect$2.apply(Dataset.scala:668)
        at 
org.apache.spark.sql.Dataset$$anonfun$collect$2.apply(Dataset.scala:668)
        at 
scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:244)
        at 
scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:244)
        at 
scala.collection.IndexedSeqOptimized$class.foreach(IndexedSeqOptimized.scala:33)
        at scala.collection.mutable.ArrayOps$ofRef.foreach(ArrayOps.scala:108)
        at scala.collection.TraversableLike$class.map(TraversableLike.scala:244)
        at scala.collection.mutable.ArrayOps$ofRef.map(ArrayOps.scala:108)
        at org.apache.spark.sql.Dataset.collect(Dataset.scala:668)
        at 
$line22.$read$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC.<init>(<console>:32)
        at $line22.$read$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC.<init>(<console>:37)
        at $line22.$read$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC.<init>(<console>:39)
        at $line22.$read$$iwC$$iwC$$iwC$$iwC$$iwC.<init>(<console>:41)
        at $line22.$read$$iwC$$iwC$$iwC$$iwC.<init>(<console>:43)
        at $line22.$read$$iwC$$iwC$$iwC.<init>(<console>:45)
        at $line22.$read$$iwC$$iwC.<init>(<console>:47)
        at $line22.$read$$iwC.<init>(<console>:49)
        at $line22.$read.<init>(<console>:51)
        at $line22.$read$.<init>(<console>:55)
        at $line22.$read$.<clinit>(<console>)
        at $line22.$eval$.<init>(<console>:7)
        at $line22.$eval$.<clinit>(<console>)
        at $line22.$eval.$print(<console>)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:606)
        at 
org.apache.spark.repl.SparkIMain$ReadEvalPrint.call(SparkIMain.scala:1065)
        at 
org.apache.spark.repl.SparkIMain$Request.loadAndRun(SparkIMain.scala:1346)
        at 
org.apache.spark.repl.SparkIMain.loadAndRunReq$1(SparkIMain.scala:840)
        at org.apache.spark.repl.SparkIMain.interpret(SparkIMain.scala:871)
        at org.apache.spark.repl.SparkIMain.interpret(SparkIMain.scala:819)
        at 
org.apache.spark.repl.SparkILoop.reallyInterpret$1(SparkILoop.scala:857)
        at 
org.apache.spark.repl.SparkILoop.interpretStartingWith(SparkILoop.scala:902)
        at org.apache.spark.repl.SparkILoop.command(SparkILoop.scala:814)
        at org.apache.spark.repl.SparkILoop.processLine$1(SparkILoop.scala:657)
        at org.apache.spark.repl.SparkILoop.innerLoop$1(SparkILoop.scala:665)
        at 
org.apache.spark.repl.SparkILoop.org$apache$spark$repl$SparkILoop$$loop(SparkILoop.scala:670)
        at 
org.apache.spark.repl.SparkILoop$$anonfun$org$apache$spark$repl$SparkILoop$$process$1.apply$mcZ$sp(SparkILoop.scala:997)
        at 
org.apache.spark.repl.SparkILoop$$anonfun$org$apache$spark$repl$SparkILoop$$process$1.apply(SparkILoop.scala:945)
        at 
org.apache.spark.repl.SparkILoop$$anonfun$org$apache$spark$repl$SparkILoop$$process$1.apply(SparkILoop.scala:945)
        at 
scala.tools.nsc.util.ScalaClassLoader$.savingContextLoader(ScalaClassLoader.scala:135)
        at 
org.apache.spark.repl.SparkILoop.org$apache$spark$repl$SparkILoop$$process(SparkILoop.scala:945)
        at org.apache.spark.repl.SparkILoop.process(SparkILoop.scala:1059)
        at org.apache.spark.repl.Main$.main(Main.scala:31)
        at org.apache.spark.repl.Main.main(Main.scala)
java.lang.RuntimeException: Error while decoding: 
java.util.concurrent.ExecutionException: java.lang.Exception: failed to 
compile: org.codehaus.commons.compiler.CompileException: File 'generated.java', 
Line 46, Column 67: No applicable constructor/method found for actual 
parameters "java.lang.String, long"; candidates are: 
"$iwC$$iwC$Person(java.lang.String, int)"
/* 001 */ 
/* 002 */ public java.lang.Object 
generate(org.apache.spark.sql.catalyst.expressions.Expression[] expr) {
/* 003 */   return new SpecificSafeProjection(expr);
/* 004 */ }
/* 005 */ 
/* 006 */ class SpecificSafeProjection extends 
org.apache.spark.sql.catalyst.expressions.codegen.BaseProjection {
/* 007 */   
/* 008 */   private org.apache.spark.sql.catalyst.expressions.Expression[] 
expressions;
/* 009 */   private org.apache.spark.sql.catalyst.expressions.MutableRow 
mutableRow;
/* 010 */   
/* 011 */   
/* 012 */   
/* 013 */   public 
SpecificSafeProjection(org.apache.spark.sql.catalyst.expressions.Expression[] 
expr) {
/* 014 */     expressions = expr;
/* 015 */     mutableRow = new 
org.apache.spark.sql.catalyst.expressions.GenericMutableRow(1);
/* 016 */     
/* 017 */   }
/* 018 */   
/* 019 */   public java.lang.Object apply(java.lang.Object _i) {
/* 020 */     InternalRow i = (InternalRow) _i;
/* 021 */     /* newinstance(class $iwC$$iwC$Person,invoke(input[1, 
StringType],toString,ObjectType(class java.lang.String)),input[0, 
LongType],false,ObjectType(class $iwC$$iwC$Person),Some($iwC$$iwC@62303b81)) */
/* 022 */     /* invoke(input[1, StringType],toString,ObjectType(class 
java.lang.String)) */
/* 023 */     /* input[1, StringType] */
/* 024 */     boolean isNull4 = i.isNullAt(1);
/* 025 */     UTF8String primitive5 = isNull4 ? null : (i.getUTF8String(1));
/* 026 */     
/* 027 */     
/* 028 */     boolean isNull2 = primitive5 == null;
/* 029 */     java.lang.String primitive3 =
/* 030 */     isNull2 ?
/* 031 */     null : (java.lang.String) primitive5.toString();
/* 032 */     isNull2 = primitive3 == null;
/* 033 */     /* input[0, LongType] */
/* 034 */     boolean isNull6 = i.isNullAt(0);
/* 035 */     long primitive7 = isNull6 ? -1L : (i.getLong(0));
/* 036 */     /* $iwC$$iwC@62303b81 */
/* 037 */     /* expression: $iwC$$iwC@62303b81 */
/* 038 */     java.lang.Object obj10 = expressions[0].eval(i);
/* 039 */     boolean isNull8 = obj10 == null;
/* 040 */     $iwC$$iwC primitive9 = null;
/* 041 */     if (!isNull8) {
/* 042 */       primitive9 = ($iwC$$iwC) obj10;
/* 043 */     }
/* 044 */     
/* 045 */     
/* 046 */     $iwC$$iwC$Person primitive1 = primitive9.new Person(primitive3, 
primitive7);
/* 047 */     final boolean isNull0 = primitive1 == null;
/* 048 */     if (isNull0) {
/* 049 */       mutableRow.setNullAt(0);
/* 050 */     } else {
/* 051 */       
/* 052 */       mutableRow.update(0, primitive1);
/* 053 */     }
/* 054 */     
/* 055 */     return mutableRow;
/* 056 */   }
/* 057 */ }
/* 058 */ 

NewInstance class $iwC$$iwC$Person, false, ObjectType(class $iwC$$iwC$Person), 
Some($iwC$$iwC@62303b81)
 Invoke toString, ObjectType(class java.lang.String)
  BoundReference 1, StringType, true
 BoundReference 0, LongType, true

        at 
org.apache.spark.sql.catalyst.encoders.ExpressionEncoder.fromRow(ExpressionEncoder.scala:208)
        at 
org.apache.spark.sql.Dataset$$anonfun$collect$2.apply(Dataset.scala:668)
        at 
org.apache.spark.sql.Dataset$$anonfun$collect$2.apply(Dataset.scala:668)
        at 
scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:244)
        at 
scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:244)
        at 
scala.collection.IndexedSeqOptimized$class.foreach(IndexedSeqOptimized.scala:33)
        at scala.collection.mutable.ArrayOps$ofRef.foreach(ArrayOps.scala:108)
        at scala.collection.TraversableLike$class.map(TraversableLike.scala:244)
        at scala.collection.mutable.ArrayOps$ofRef.map(ArrayOps.scala:108)
        at org.apache.spark.sql.Dataset.collect(Dataset.scala:668)
        at $iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC.<init>(<console>:32)
        at $iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC.<init>(<console>:37)
        at $iwC$$iwC$$iwC$$iwC$$iwC$$iwC.<init>(<console>:39)
        at $iwC$$iwC$$iwC$$iwC$$iwC.<init>(<console>:41)
        at $iwC$$iwC$$iwC$$iwC.<init>(<console>:43)
        at $iwC$$iwC$$iwC.<init>(<console>:45)
        at $iwC$$iwC.<init>(<console>:47)
        at $iwC.<init>(<console>:49)
        at <init>(<console>:51)
        at .<init>(<console>:55)
        at .<clinit>(<console>)
        at .<init>(<console>:7)
        at .<clinit>(<console>)
        at $print(<console>)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:606)
        at 
org.apache.spark.repl.SparkIMain$ReadEvalPrint.call(SparkIMain.scala:1065)
        at 
org.apache.spark.repl.SparkIMain$Request.loadAndRun(SparkIMain.scala:1346)
        at 
org.apache.spark.repl.SparkIMain.loadAndRunReq$1(SparkIMain.scala:840)
        at org.apache.spark.repl.SparkIMain.interpret(SparkIMain.scala:871)
        at org.apache.spark.repl.SparkIMain.interpret(SparkIMain.scala:819)
        at 
org.apache.spark.repl.SparkILoop.reallyInterpret$1(SparkILoop.scala:857)
        at 
org.apache.spark.repl.SparkILoop.interpretStartingWith(SparkILoop.scala:902)
        at org.apache.spark.repl.SparkILoop.command(SparkILoop.scala:814)
        at org.apache.spark.repl.SparkILoop.processLine$1(SparkILoop.scala:657)
        at org.apache.spark.repl.SparkILoop.innerLoop$1(SparkILoop.scala:665)
        at 
org.apache.spark.repl.SparkILoop.org$apache$spark$repl$SparkILoop$$loop(SparkILoop.scala:670)
        at 
org.apache.spark.repl.SparkILoop$$anonfun$org$apache$spark$repl$SparkILoop$$process$1.apply$mcZ$sp(SparkILoop.scala:997)
        at 
org.apache.spark.repl.SparkILoop$$anonfun$org$apache$spark$repl$SparkILoop$$process$1.apply(SparkILoop.scala:945)
        at 
org.apache.spark.repl.SparkILoop$$anonfun$org$apache$spark$repl$SparkILoop$$process$1.apply(SparkILoop.scala:945)
        at 
scala.tools.nsc.util.ScalaClassLoader$.savingContextLoader(ScalaClassLoader.scala:135)
        at 
org.apache.spark.repl.SparkILoop.org$apache$spark$repl$SparkILoop$$process(SparkILoop.scala:945)
        at org.apache.spark.repl.SparkILoop.process(SparkILoop.scala:1059)
        at org.apache.spark.repl.Main$.main(Main.scala:31)
        at org.apache.spark.repl.Main.main(Main.scala)
Caused by: java.util.concurrent.ExecutionException: java.lang.Exception: failed 
to compile: org.codehaus.commons.compiler.CompileException: File 
'generated.java', Line 46, Column 67: No applicable constructor/method found 
for actual parameters "java.lang.String, long"; candidates are: 
"$iwC$$iwC$Person(java.lang.String, int)"
/* 001 */ 
/* 002 */ public java.lang.Object 
generate(org.apache.spark.sql.catalyst.expressions.Expression[] expr) {
/* 003 */   return new SpecificSafeProjection(expr);
/* 004 */ }
/* 005 */ 
/* 006 */ class SpecificSafeProjection extends 
org.apache.spark.sql.catalyst.expressions.codegen.BaseProjection {
/* 007 */   
/* 008 */   private org.apache.spark.sql.catalyst.expressions.Expression[] 
expressions;
/* 009 */   private org.apache.spark.sql.catalyst.expressions.MutableRow 
mutableRow;
/* 010 */   
/* 011 */   
/* 012 */   
/* 013 */   public 
SpecificSafeProjection(org.apache.spark.sql.catalyst.expressions.Expression[] 
expr) {
/* 014 */     expressions = expr;
/* 015 */     mutableRow = new 
org.apache.spark.sql.catalyst.expressions.GenericMutableRow(1);
/* 016 */     
/* 017 */   }
/* 018 */   
/* 019 */   public java.lang.Object apply(java.lang.Object _i) {
/* 020 */     InternalRow i = (InternalRow) _i;
/* 021 */     /* newinstance(class $iwC$$iwC$Person,invoke(input[1, 
StringType],toString,ObjectType(class java.lang.String)),input[0, 
LongType],false,ObjectType(class $iwC$$iwC$Person),Some($iwC$$iwC@62303b81)) */
/* 022 */     /* invoke(input[1, StringType],toString,ObjectType(class 
java.lang.String)) */
/* 023 */     /* input[1, StringType] */
/* 024 */     boolean isNull4 = i.isNullAt(1);
/* 025 */     UTF8String primitive5 = isNull4 ? null : (i.getUTF8String(1));
/* 026 */     
/* 027 */     
/* 028 */     boolean isNull2 = primitive5 == null;
/* 029 */     java.lang.String primitive3 =
/* 030 */     isNull2 ?
/* 031 */     null : (java.lang.String) primitive5.toString();
/* 032 */     isNull2 = primitive3 == null;
/* 033 */     /* input[0, LongType] */
/* 034 */     boolean isNull6 = i.isNullAt(0);
/* 035 */     long primitive7 = isNull6 ? -1L : (i.getLong(0));
/* 036 */     /* $iwC$$iwC@62303b81 */
/* 037 */     /* expression: $iwC$$iwC@62303b81 */
/* 038 */     java.lang.Object obj10 = expressions[0].eval(i);
/* 039 */     boolean isNull8 = obj10 == null;
/* 040 */     $iwC$$iwC primitive9 = null;
/* 041 */     if (!isNull8) {
/* 042 */       primitive9 = ($iwC$$iwC) obj10;
/* 043 */     }
/* 044 */     
/* 045 */     
/* 046 */     $iwC$$iwC$Person primitive1 = primitive9.new Person(primitive3, 
primitive7);
/* 047 */     final boolean isNull0 = primitive1 == null;
/* 048 */     if (isNull0) {
/* 049 */       mutableRow.setNullAt(0);
/* 050 */     } else {
/* 051 */       
/* 052 */       mutableRow.update(0, primitive1);
/* 053 */     }
/* 054 */     
/* 055 */     return mutableRow;
/* 056 */   }
/* 057 */ }
/* 058 */ 

        at 
com.google.common.util.concurrent.AbstractFuture$Sync.getValue(AbstractFuture.java:306)
        at 
com.google.common.util.concurrent.AbstractFuture$Sync.get(AbstractFuture.java:293)
        at 
com.google.common.util.concurrent.AbstractFuture.get(AbstractFuture.java:116)
        at 
com.google.common.util.concurrent.Uninterruptibles.getUninterruptibly(Uninterruptibles.java:135)
        at 
com.google.common.cache.LocalCache$Segment.getAndRecordStats(LocalCache.java:2410)
        at 
com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2380)
        at 
com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2342)
        at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2257)
        at com.google.common.cache.LocalCache.get(LocalCache.java:4000)
        at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:4004)
        at 
com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4874)
        at 
org.apache.spark.sql.catalyst.expressions.codegen.CodeGenerator.compile(CodeGenerator.scala:531)
        at 
org.apache.spark.sql.catalyst.expressions.codegen.GenerateSafeProjection$.create(GenerateSafeProjection.scala:178)
        at 
org.apache.spark.sql.catalyst.expressions.codegen.GenerateSafeProjection$.create(GenerateSafeProjection.scala:30)
        at 
org.apache.spark.sql.catalyst.expressions.codegen.CodeGenerator.generate(CodeGenerator.scala:604)
        at 
org.apache.spark.sql.catalyst.encoders.ExpressionEncoder.constructProjection$lzycompute(ExpressionEncoder.scala:183)
        at 
org.apache.spark.sql.catalyst.encoders.ExpressionEncoder.constructProjection(ExpressionEncoder.scala:183)
        at 
org.apache.spark.sql.catalyst.encoders.ExpressionEncoder.fromRow(ExpressionEncoder.scala:205)
        ... 46 more
Caused by: java.lang.Exception: failed to compile: 
org.codehaus.commons.compiler.CompileException: File 'generated.java', Line 46, 
Column 67: No applicable constructor/method found for actual parameters 
"java.lang.String, long"; candidates are: "$iwC$$iwC$Person(java.lang.String, 
int)"
/* 001 */ 
/* 002 */ public java.lang.Object 
generate(org.apache.spark.sql.catalyst.expressions.Expression[] expr) {
/* 003 */   return new SpecificSafeProjection(expr);
/* 004 */ }
/* 005 */ 
/* 006 */ class SpecificSafeProjection extends 
org.apache.spark.sql.catalyst.expressions.codegen.BaseProjection {
/* 007 */   
/* 008 */   private org.apache.spark.sql.catalyst.expressions.Expression[] 
expressions;
/* 009 */   private org.apache.spark.sql.catalyst.expressions.MutableRow 
mutableRow;
/* 010 */   
/* 011 */   
/* 012 */   
/* 013 */   public 
SpecificSafeProjection(org.apache.spark.sql.catalyst.expressions.Expression[] 
expr) {
/* 014 */     expressions = expr;
/* 015 */     mutableRow = new 
org.apache.spark.sql.catalyst.expressions.GenericMutableRow(1);
/* 016 */     
/* 017 */   }
/* 018 */   
/* 019 */   public java.lang.Object apply(java.lang.Object _i) {
/* 020 */     InternalRow i = (InternalRow) _i;
/* 021 */     /* newinstance(class $iwC$$iwC$Person,invoke(input[1, 
StringType],toString,ObjectType(class java.lang.String)),input[0, 
LongType],false,ObjectType(class $iwC$$iwC$Person),Some($iwC$$iwC@62303b81)) */
/* 022 */     /* invoke(input[1, StringType],toString,ObjectType(class 
java.lang.String)) */
/* 023 */     /* input[1, StringType] */
/* 024 */     boolean isNull4 = i.isNullAt(1);
/* 025 */     UTF8String primitive5 = isNull4 ? null : (i.getUTF8String(1));
/* 026 */     
/* 027 */     
/* 028 */     boolean isNull2 = primitive5 == null;
/* 029 */     java.lang.String primitive3 =
/* 030 */     isNull2 ?
/* 031 */     null : (java.lang.String) primitive5.toString();
/* 032 */     isNull2 = primitive3 == null;
/* 033 */     /* input[0, LongType] */
/* 034 */     boolean isNull6 = i.isNullAt(0);
/* 035 */     long primitive7 = isNull6 ? -1L : (i.getLong(0));
/* 036 */     /* $iwC$$iwC@62303b81 */
/* 037 */     /* expression: $iwC$$iwC@62303b81 */
/* 038 */     java.lang.Object obj10 = expressions[0].eval(i);
/* 039 */     boolean isNull8 = obj10 == null;
/* 040 */     $iwC$$iwC primitive9 = null;
/* 041 */     if (!isNull8) {
/* 042 */       primitive9 = ($iwC$$iwC) obj10;
/* 043 */     }
/* 044 */     
/* 045 */     
/* 046 */     $iwC$$iwC$Person primitive1 = primitive9.new Person(primitive3, 
primitive7);
/* 047 */     final boolean isNull0 = primitive1 == null;
/* 048 */     if (isNull0) {
/* 049 */       mutableRow.setNullAt(0);
/* 050 */     } else {
/* 051 */       
/* 052 */       mutableRow.update(0, primitive1);
/* 053 */     }
/* 054 */     
/* 055 */     return mutableRow;
/* 056 */   }
/* 057 */ }
/* 058 */ 

        at 
org.apache.spark.sql.catalyst.expressions.codegen.CodeGenerator.org$apache$spark$sql$catalyst$expressions$codegen$CodeGenerator$$doCompile(CodeGenerator.scala:571)
        at 
org.apache.spark.sql.catalyst.expressions.codegen.CodeGenerator$$anon$1.load(CodeGenerator.scala:591)
        at 
org.apache.spark.sql.catalyst.expressions.codegen.CodeGenerator$$anon$1.load(CodeGenerator.scala:588)
        at 
com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3599)
        at 
com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2379)
        ... 58 more
Caused by: org.codehaus.commons.compiler.CompileException: File 
'generated.java', Line 46, Column 67: No applicable constructor/method found 
for actual parameters "java.lang.String, long"; candidates are: 
"$iwC$$iwC$Person(java.lang.String, int)"
        at 
org.codehaus.janino.UnitCompiler.compileError(UnitCompiler.java:10174)
        at 
org.codehaus.janino.UnitCompiler.findMostSpecificIInvocable(UnitCompiler.java:7559)
        at 
org.codehaus.janino.UnitCompiler.invokeConstructor(UnitCompiler.java:6505)
        at org.codehaus.janino.UnitCompiler.compileGet2(UnitCompiler.java:4126)
        at org.codehaus.janino.UnitCompiler.access$7600(UnitCompiler.java:185)
        at 
org.codehaus.janino.UnitCompiler$10.visitNewClassInstance(UnitCompiler.java:3275)
        at org.codehaus.janino.Java$NewClassInstance.accept(Java.java:4085)
        at org.codehaus.janino.UnitCompiler.compileGet(UnitCompiler.java:3290)
        at 
org.codehaus.janino.UnitCompiler.compileGetValue(UnitCompiler.java:4368)
        at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:1845)
        at org.codehaus.janino.UnitCompiler.access$2000(UnitCompiler.java:185)
        at 
org.codehaus.janino.UnitCompiler$4.visitLocalVariableDeclarationStatement(UnitCompiler.java:945)
        at 
org.codehaus.janino.Java$LocalVariableDeclarationStatement.accept(Java.java:2508)
        at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:958)
        at 
org.codehaus.janino.UnitCompiler.compileStatements(UnitCompiler.java:1007)
        at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:2293)
        at 
org.codehaus.janino.UnitCompiler.compileDeclaredMethods(UnitCompiler.java:822)
        at 
org.codehaus.janino.UnitCompiler.compileDeclaredMethods(UnitCompiler.java:794)
        at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:507)
        at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:658)
        at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:662)
        at org.codehaus.janino.UnitCompiler.access$600(UnitCompiler.java:185)
        at 
org.codehaus.janino.UnitCompiler$2.visitMemberClassDeclaration(UnitCompiler.java:350)
        at 
org.codehaus.janino.Java$MemberClassDeclaration.accept(Java.java:1035)
        at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:354)
        at 
org.codehaus.janino.UnitCompiler.compileDeclaredMemberTypes(UnitCompiler.java:769)
        at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:532)
        at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:393)
        at org.codehaus.janino.UnitCompiler.access$400(UnitCompiler.java:185)
        at 
org.codehaus.janino.UnitCompiler$2.visitPackageMemberClassDeclaration(UnitCompiler.java:347)
        at 
org.codehaus.janino.Java$PackageMemberClassDeclaration.accept(Java.java:1139)
        at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:354)
        at org.codehaus.janino.UnitCompiler.compileUnit(UnitCompiler.java:322)
        at 
org.codehaus.janino.SimpleCompiler.compileToClassLoader(SimpleCompiler.java:383)
        at 
org.codehaus.janino.ClassBodyEvaluator.compileToClass(ClassBodyEvaluator.java:315)
        at 
org.codehaus.janino.ClassBodyEvaluator.cook(ClassBodyEvaluator.java:233)
        at org.codehaus.janino.SimpleCompiler.cook(SimpleCompiler.java:192)
        at org.codehaus.commons.compiler.Cookable.cook(Cookable.java:84)
        at 
org.apache.spark.sql.catalyst.expressions.codegen.CodeGenerator.org$apache$spark$sql$catalyst$expressions$codegen$CodeGenerator$$doCompile(CodeGenerator.scala:566)
        ... 62 more

{code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to