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

Yang Jie commented on SPARK-33948:
----------------------------------

{code:java}
/* 001 */ public java.lang.Object generate(Object[] references) {
/* 002 */   return new SpecificSafeProjection(references);
/* 003 */ }
/* 004 */
/* 005 */ class SpecificSafeProjection extends 
org.apache.spark.sql.catalyst.expressions.codegen.BaseProjection {
/* 006 */
/* 007 */   private Object[] references;
/* 008 */   private InternalRow mutableRow;
/* 009 */   private InternalRow value_MapObject_lambda_variable_1;
/* 010 */   private boolean isNull_MapObject_lambda_variable_1;
/* 011 */   private boolean globalIsNull_0;
/* 012 */   private java.lang.String[] mutableStateArray_0 = new 
java.lang.String[3];
/* 013 */   private scala.collection.mutable.ArrayBuffer[] mutableStateArray_1 
= new scala.collection.mutable.ArrayBuffer[1];
/* 014 */
/* 015 */   public SpecificSafeProjection(Object[] references) {
/* 016 */     this.references = references;
/* 017 */     mutableRow = (InternalRow) references[references.length - 1];
/* 018 */
/* 019 */
/* 020 */   }
/* 021 */
/* 022 */   public void initialize(int partitionIndex) {
/* 023 */
/* 024 */   }
/* 025 */
/* 026 */   public java.lang.Object apply(java.lang.Object _i) {
/* 027 */     InternalRow i = (InternalRow) _i;
/* 028 */     boolean isNull_2 = i.isNullAt(0);
/* 029 */     UTF8String value_2 = isNull_2 ?
/* 030 */     null : (i.getUTF8String(0));
/* 031 */     boolean isNull_1 = true;
/* 032 */     java.lang.String value_1 = null;
/* 033 */     if (!isNull_2) {
/* 034 */
/* 035 */       isNull_1 = false;
/* 036 */       if (!isNull_1) {
/* 037 */
/* 038 */         Object funcResult_0 = null;
/* 039 */         funcResult_0 = value_2.toString();
/* 040 */         value_1 = (java.lang.String) funcResult_0;
/* 041 */
/* 042 */       }
/* 043 */     }
/* 044 */     mutableStateArray_0[0] = value_1;
/* 045 */
/* 046 */     scala.collection.mutable.ArrayBuffer value_14 = MapObjects_0(i);
/* 047 */     mutableStateArray_1[0] = value_14;
/* 048 */
/* 049 */
/* 050 */     final scala.Tuple2 value_0 = false ?
/* 051 */     null : new scala.Tuple2(mutableStateArray_0[0], 
mutableStateArray_1[0]);
/* 052 */     if (false) {
/* 053 */       mutableRow.setNullAt(0);
/* 054 */     } else {
/* 055 */
/* 056 */       mutableRow.update(0, value_0);
/* 057 */     }
/* 058 */
/* 059 */     return mutableRow;
/* 060 */   }
/* 061 */
/* 062 */
/* 063 */   private scala.Tuple2 NewInstance_0(InternalRow i) {
/* 064 */     boolean isNull_10 = isNull_MapObject_lambda_variable_1;
/* 065 */     UTF8String value_10 = null;
/* 066 */
/* 067 */     if (!isNull_MapObject_lambda_variable_1) {
/* 068 */
/* 069 */       if (value_MapObject_lambda_variable_1.isNullAt(0)) {
/* 070 */         isNull_10 = true;
/* 071 */       } else {
/* 072 */         value_10 = value_MapObject_lambda_variable_1.getUTF8String(0);
/* 073 */       }
/* 074 */
/* 075 */     }
/* 076 */     boolean isNull_9 = true;
/* 077 */     java.lang.String value_9 = null;
/* 078 */     if (!isNull_10) {
/* 079 */
/* 080 */       isNull_9 = false;
/* 081 */       if (!isNull_9) {
/* 082 */
/* 083 */         Object funcResult_1 = null;
/* 084 */         funcResult_1 = value_10.toString();
/* 085 */         value_9 = (java.lang.String) funcResult_1;
/* 086 */
/* 087 */       }
/* 088 */     }
/* 089 */     mutableStateArray_0[1] = value_9;
/* 090 */
/* 091 */     boolean isNull_12 = isNull_MapObject_lambda_variable_1;
/* 092 */     UTF8String value_12 = null;
/* 093 */
/* 094 */     if (!isNull_MapObject_lambda_variable_1) {
/* 095 */
/* 096 */       if (value_MapObject_lambda_variable_1.isNullAt(1)) {
/* 097 */         isNull_12 = true;
/* 098 */       } else {
/* 099 */         value_12 = value_MapObject_lambda_variable_1.getUTF8String(1);
/* 100 */       }
/* 101 */
/* 102 */     }
/* 103 */     boolean isNull_11 = true;
/* 104 */     java.lang.String value_11 = null;
/* 105 */     if (!isNull_12) {
/* 106 */
/* 107 */       isNull_11 = false;
/* 108 */       if (!isNull_11) {
/* 109 */
/* 110 */         Object funcResult_2 = null;
/* 111 */         funcResult_2 = value_12.toString();
/* 112 */         value_11 = (java.lang.String) funcResult_2;
/* 113 */
/* 114 */       }
/* 115 */     }
/* 116 */     mutableStateArray_0[2] = value_11;
/* 117 */
/* 118 */
/* 119 */     final scala.Tuple2 value_8 = false ?
/* 120 */     null : new scala.Tuple2(mutableStateArray_0[1], 
mutableStateArray_0[2]);
/* 121 */
/* 122 */     return value_8;
/* 123 */   }
/* 124 */
/* 125 */
/* 126 */   private scala.collection.mutable.ArrayBuffer 
MapObjects_0(InternalRow i) {
/* 127 */     boolean isNull_4 = i.isNullAt(1);
/* 128 */     ArrayData value_4 = isNull_4 ?
/* 129 */     null : (i.getArray(1));
/* 130 */     scala.collection.mutable.ArrayBuffer value_3 = null;
/* 131 */
/* 132 */     if (!isNull_4) {
/* 133 */
/* 134 */       int dataLength_0 = value_4.numElements();
/* 135 */
/* 136 */       scala.Tuple2[] convertedArray_0 = null;
/* 137 */       convertedArray_0 = new scala.Tuple2[dataLength_0];
/* 138 */
/* 139 */
/* 140 */       int loopIndex_0 = 0;
/* 141 */
/* 142 */       while (loopIndex_0 < dataLength_0) {
/* 143 */         value_MapObject_lambda_variable_1 = (InternalRow) 
(value_4.getStruct(loopIndex_0, 2));
/* 144 */         isNull_MapObject_lambda_variable_1 = 
value_4.isNullAt(loopIndex_0);
/* 145 */
/* 146 */         boolean isNull_5 = false;
/* 147 */         scala.Tuple2 value_5 = null;
/* 148 */         if (!false && isNull_MapObject_lambda_variable_1) {
/* 149 */
/* 150 */           isNull_5 = true;
/* 151 */           value_5 = ((scala.Tuple2)null);
/* 152 */         } else {
/* 153 */           scala.Tuple2 value_13 = NewInstance_0(i);
/* 154 */           isNull_5 = false;
/* 155 */           value_5 = value_13;
/* 156 */         }
/* 157 */         if (isNull_5) {
/* 158 */           convertedArray_0[loopIndex_0] = null;
/* 159 */         } else {
/* 160 */           convertedArray_0[loopIndex_0] = value_5;
/* 161 */         }
/* 162 */
/* 163 */         loopIndex_0 += 1;
/* 164 */       }
/* 165 */
/* 166 */       value_3 = new 
org.apache.spark.sql.catalyst.util.GenericArrayData(convertedArray_0);
/* 167 */     }
/* 168 */     globalIsNull_0 = isNull_4;
/* 169 */     return value_3;
/* 170 */   }
/* 171 */
/* 172 */ }
{code}

> ExpressionEncoderSuite  failed in 
> spark-branch-3.1-test-maven-hadoop-*-jdk-*-scala-2.13
> ---------------------------------------------------------------------------------------
>
>                 Key: SPARK-33948
>                 URL: https://issues.apache.org/jira/browse/SPARK-33948
>             Project: Spark
>          Issue Type: Sub-task
>          Components: Spark Core, SQL
>    Affects Versions: 3.1.0
>         Environment: * 
>  
>            Reporter: Yang Jie
>            Priority: Major
>
> https://amplab.cs.berkeley.edu/jenkins/job/spark-branch-3.1-test-maven-hadoop-3.2-jdk-11-scala-2.13/118/#showFailuresLink
>  
> [ExpressionEncoderSuite|https://amplab.cs.berkeley.edu/jenkins/job/spark-branch-3.1-test-maven-hadoop-3.2-scala-2.13/101/testReport/junit/org.apache.spark.sql.catalyst.encoders/ExpressionEncoderSuite/encode_decode_for_Tuple2___ArrayBuffer__String__String___ArrayBuffer__a_b_____codegen_path_/]
>  * 
> [org.apache.spark.sql.catalyst.encoders.ExpressionEncoderSuite.encode/decode 
> for Tuple2: (ArrayBuffer[(String, String)],ArrayBuffer((a,b))) (codegen 
> path)|https://amplab.cs.berkeley.edu/jenkins/job/spark-branch-3.1-test-maven-hadoop-3.2-scala-2.13/101/testReport/junit/org.apache.spark.sql.catalyst.encoders/ExpressionEncoderSuite/encode_decode_for_Tuple2___ArrayBuffer__String__String___ArrayBuffer__a_b_____codegen_path_/]
>  * 
> [org.apache.spark.sql.catalyst.encoders.ExpressionEncoderSuite.encode/decode 
> for Tuple2: (ArrayBuffer[(String, String)],ArrayBuffer((a,b))) (interpreted 
> path)|https://amplab.cs.berkeley.edu/jenkins/job/spark-branch-3.1-test-maven-hadoop-3.2-scala-2.13/101/testReport/junit/org.apache.spark.sql.catalyst.encoders/ExpressionEncoderSuite/encode_decode_for_Tuple2___ArrayBuffer__String__String___ArrayBuffer__a_b_____interpreted_path_/]
>  * 
> [org.apache.spark.sql.catalyst.encoders.ExpressionEncoderSuite.encode/decode 
> for Tuple2: (ArrayBuffer[(Int, Int)],ArrayBuffer((1,2))) (codegen 
> path)|https://amplab.cs.berkeley.edu/jenkins/job/spark-branch-3.1-test-maven-hadoop-3.2-scala-2.13/101/testReport/junit/org.apache.spark.sql.catalyst.encoders/ExpressionEncoderSuite/encode_decode_for_Tuple2___ArrayBuffer__Int__Int___ArrayBuffer__1_2_____codegen_path_/]
>  * 
> [org.apache.spark.sql.catalyst.encoders.ExpressionEncoderSuite.encode/decode 
> for Tuple2: (ArrayBuffer[(Int, Int)],ArrayBuffer((1,2))) (interpreted 
> path)|https://amplab.cs.berkeley.edu/jenkins/job/spark-branch-3.1-test-maven-hadoop-3.2-scala-2.13/101/testReport/junit/org.apache.spark.sql.catalyst.encoders/ExpressionEncoderSuite/encode_decode_for_Tuple2___ArrayBuffer__Int__Int___ArrayBuffer__1_2_____interpreted_path_/]
>  * 
> [org.apache.spark.sql.catalyst.encoders.ExpressionEncoderSuite.encode/decode 
> for Tuple2: (ArrayBuffer[(Long, Long)],ArrayBuffer((1,2))) (codegen 
> path)|https://amplab.cs.berkeley.edu/jenkins/job/spark-branch-3.1-test-maven-hadoop-3.2-scala-2.13/101/testReport/junit/org.apache.spark.sql.catalyst.encoders/ExpressionEncoderSuite/encode_decode_for_Tuple2___ArrayBuffer__Long__Long___ArrayBuffer__1_2_____codegen_path_/]
>  * 
> [org.apache.spark.sql.catalyst.encoders.ExpressionEncoderSuite.encode/decode 
> for Tuple2: (ArrayBuffer[(Long, Long)],ArrayBuffer((1,2))) (interpreted 
> path)|https://amplab.cs.berkeley.edu/jenkins/job/spark-branch-3.1-test-maven-hadoop-3.2-scala-2.13/101/testReport/junit/org.apache.spark.sql.catalyst.encoders/ExpressionEncoderSuite/encode_decode_for_Tuple2___ArrayBuffer__Long__Long___ArrayBuffer__1_2_____interpreted_path_/]
>  * 
> [org.apache.spark.sql.catalyst.encoders.ExpressionEncoderSuite.encode/decode 
> for Tuple2: (ArrayBuffer[(Float, Float)],ArrayBuffer((1.0,2.0))) (codegen 
> path)|https://amplab.cs.berkeley.edu/jenkins/job/spark-branch-3.1-test-maven-hadoop-3.2-scala-2.13/101/testReport/junit/org.apache.spark.sql.catalyst.encoders/ExpressionEncoderSuite/encode_decode_for_Tuple2___ArrayBuffer__Float__Float___ArrayBuffer__1_0_2_0_____codegen_path_/]
>  * 
> [org.apache.spark.sql.catalyst.encoders.ExpressionEncoderSuite.encode/decode 
> for Tuple2: (ArrayBuffer[(Float, Float)],ArrayBuffer((1.0,2.0))) (interpreted 
> path)|https://amplab.cs.berkeley.edu/jenkins/job/spark-branch-3.1-test-maven-hadoop-3.2-scala-2.13/101/testReport/junit/org.apache.spark.sql.catalyst.encoders/ExpressionEncoderSuite/encode_decode_for_Tuple2___ArrayBuffer__Float__Float___ArrayBuffer__1_0_2_0_____interpreted_path_/]
>  * 
> [org.apache.spark.sql.catalyst.encoders.ExpressionEncoderSuite.encode/decode 
> for Tuple2: (ArrayBuffer[(Double, Double)],ArrayBuffer((1.0,2.0))) (codegen 
> path)|https://amplab.cs.berkeley.edu/jenkins/job/spark-branch-3.1-test-maven-hadoop-3.2-scala-2.13/101/testReport/junit/org.apache.spark.sql.catalyst.encoders/ExpressionEncoderSuite/encode_decode_for_Tuple2___ArrayBuffer__Double__Double___ArrayBuffer__1_0_2_0_____codegen_path_/]
>  * 
> [org.apache.spark.sql.catalyst.encoders.ExpressionEncoderSuite.encode/decode 
> for Tuple2: (ArrayBuffer[(Double, Double)],ArrayBuffer((1.0,2.0))) 
> (interpreted 
> path)|https://amplab.cs.berkeley.edu/jenkins/job/spark-branch-3.1-test-maven-hadoop-3.2-scala-2.13/101/testReport/junit/org.apache.spark.sql.catalyst.encoders/ExpressionEncoderSuite/encode_decode_for_Tuple2___ArrayBuffer__Double__Double___ArrayBuffer__1_0_2_0_____interpreted_path_/]
>  * 
> [org.apache.spark.sql.catalyst.encoders.ExpressionEncoderSuite.encode/decode 
> for Tuple2: (ArrayBuffer[(Short, Short)],ArrayBuffer((1,2))) (codegen 
> path)|https://amplab.cs.berkeley.edu/jenkins/job/spark-branch-3.1-test-maven-hadoop-3.2-scala-2.13/101/testReport/junit/org.apache.spark.sql.catalyst.encoders/ExpressionEncoderSuite/encode_decode_for_Tuple2___ArrayBuffer__Short__Short___ArrayBuffer__1_2_____codegen_path_/]
>  * 
> [org.apache.spark.sql.catalyst.encoders.ExpressionEncoderSuite.encode/decode 
> for Tuple2: (ArrayBuffer[(Short, Short)],ArrayBuffer((1,2))) (interpreted 
> path)|https://amplab.cs.berkeley.edu/jenkins/job/spark-branch-3.1-test-maven-hadoop-3.2-scala-2.13/101/testReport/junit/org.apache.spark.sql.catalyst.encoders/ExpressionEncoderSuite/encode_decode_for_Tuple2___ArrayBuffer__Short__Short___ArrayBuffer__1_2_____interpreted_path_/]
>  * 
> [org.apache.spark.sql.catalyst.encoders.ExpressionEncoderSuite.encode/decode 
> for Tuple2: (ArrayBuffer[(Byte, Byte)],ArrayBuffer((1,2))) (codegen 
> path)|https://amplab.cs.berkeley.edu/jenkins/job/spark-branch-3.1-test-maven-hadoop-3.2-scala-2.13/101/testReport/junit/org.apache.spark.sql.catalyst.encoders/ExpressionEncoderSuite/encode_decode_for_Tuple2___ArrayBuffer__Byte__Byte___ArrayBuffer__1_2_____codegen_path_/]
>  * 
> [org.apache.spark.sql.catalyst.encoders.ExpressionEncoderSuite.encode/decode 
> for Tuple2: (ArrayBuffer[(Byte, Byte)],ArrayBuffer((1,2))) (interpreted 
> path)|https://amplab.cs.berkeley.edu/jenkins/job/spark-branch-3.1-test-maven-hadoop-3.2-scala-2.13/101/testReport/junit/org.apache.spark.sql.catalyst.encoders/ExpressionEncoderSuite/encode_decode_for_Tuple2___ArrayBuffer__Byte__Byte___ArrayBuffer__1_2_____interpreted_path_/]
>  * 
> [org.apache.spark.sql.catalyst.encoders.ExpressionEncoderSuite.encode/decode 
> for Tuple2: (ArrayBuffer[(Boolean, Boolean)],ArrayBuffer((true,false))) 
> (codegen 
> path)|https://amplab.cs.berkeley.edu/jenkins/job/spark-branch-3.1-test-maven-hadoop-3.2-scala-2.13/101/testReport/junit/org.apache.spark.sql.catalyst.encoders/ExpressionEncoderSuite/encode_decode_for_Tuple2___ArrayBuffer__Boolean__Boolean___ArrayBuffer__true_false_____codegen_path_/]
>  * 
> [org.apache.spark.sql.catalyst.encoders.ExpressionEncoderSuite.encode/decode 
> for Tuple2: (ArrayBuffer[(Boolean, Boolean)],ArrayBuffer((true,false))) 
> (interpreted 
> path)|https://amplab.cs.berkeley.edu/jenkins/job/spark-branch-3.1-test-maven-hadoop-3.2-scala-2.13/101/testReport/junit/org.apache.spark.sql.catalyst.encoders/ExpressionEncoderSuite/encode_decode_for_Tuple2___ArrayBuffer__Boolean__Boolean___ArrayBuffer__true_false_____interpreted_path_/]



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

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

Reply via email to