[
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]