[ 
https://issues.apache.org/jira/browse/SPARK-12036?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15031121#comment-15031121
 ] 

Denny Lee commented on SPARK-12036:
-----------------------------------

I just tested it out with the patch and it looks like this resolves it.  Thanks!

> 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: issues-unsubscr...@spark.apache.org
For additional commands, e-mail: issues-h...@spark.apache.org

Reply via email to