Grant Henke has posted comments on this change. ( http://gerrit.cloudera.org:8080/14050 )
Change subject: KUDU-1938 [java] Add support for VARCHAR pt 4 ...................................................................... Patch Set 20: (11 comments) http://gerrit.cloudera.org:8080/#/c/14050/20/java/kudu-client/src/main/java/org/apache/kudu/client/KeyEncoder.java File java/kudu-client/src/main/java/org/apache/kudu/client/KeyEncoder.java: http://gerrit.cloudera.org:8080/#/c/14050/20/java/kudu-client/src/main/java/org/apache/kudu/client/KeyEncoder.java@41 PS20, Line 41: import org.jboss.netty.util.CharsetUtil; Use the standard java charset here and anywhere else. java.nio.charset.StandardCharsets http://gerrit.cloudera.org:8080/#/c/14050/20/java/kudu-client/src/main/java/org/apache/kudu/client/PartialRow.java File java/kudu-client/src/main/java/org/apache/kudu/client/PartialRow.java: http://gerrit.cloudera.org:8080/#/c/14050/20/java/kudu-client/src/main/java/org/apache/kudu/client/PartialRow.java@43 PS20, Line 43: import static org.apache.kudu.Type.STRING; Nit: All the other types use `Type.x` where they are used. Remove these and use fully qualified `Type.x` where needed below. http://gerrit.cloudera.org:8080/#/c/14050/20/java/kudu-client/src/main/java/org/apache/kudu/client/PartialRow.java@659 PS20, Line 659: addVarLengthData(columnIndex, bytes); nit: To match all the addString methods should this call `addStringUtf8`? http://gerrit.cloudera.org:8080/#/c/14050/20/java/kudu-client/src/main/java/org/apache/kudu/client/RowResult.java File java/kudu-client/src/main/java/org/apache/kudu/client/RowResult.java: http://gerrit.cloudera.org:8080/#/c/14050/20/java/kudu-client/src/main/java/org/apache/kudu/client/RowResult.java@403 PS20, Line 403: checkType(columnIndex, Type.STRING, Type.VARCHAR); We don't allow VARCHAR on getString in the PartialRow API. We probably should. Either way both PartialRow and RowResult behavior should be consistent. http://gerrit.cloudera.org:8080/#/c/14050/20/java/kudu-client/src/test/java/org/apache/kudu/TestColumnSchema.java File java/kudu-client/src/test/java/org/apache/kudu/TestColumnSchema.java: http://gerrit.cloudera.org:8080/#/c/14050/20/java/kudu-client/src/test/java/org/apache/kudu/TestColumnSchema.java@22 PS20, Line 22: import org.apache.kudu.util.CharUtil; Nit: put with the kudu imports http://gerrit.cloudera.org:8080/#/c/14050/20/java/kudu-client/src/test/java/org/apache/kudu/TestColumnSchema.java@29 PS20, Line 29: import org.junit.rules.ExpectedException; nit: put with the junit imports http://gerrit.cloudera.org:8080/#/c/14050/20/java/kudu-client/src/test/java/org/apache/kudu/client/TestKeyEncoding.java File java/kudu-client/src/test/java/org/apache/kudu/client/TestKeyEncoding.java: http://gerrit.cloudera.org:8080/#/c/14050/20/java/kudu-client/src/test/java/org/apache/kudu/client/TestKeyEncoding.java@28 PS20, Line 28: import org.apache.kudu.util.CharUtil; nit: put with the other kudu imports? http://gerrit.cloudera.org:8080/#/c/14050/20/java/kudu-client/src/test/java/org/apache/kudu/client/TestKuduClient.java File java/kudu-client/src/test/java/org/apache/kudu/client/TestKuduClient.java: http://gerrit.cloudera.org:8080/#/c/14050/20/java/kudu-client/src/test/java/org/apache/kudu/client/TestKuduClient.java@24 PS20, Line 24: import static org.apache.kudu.test.ClientTestUtil.*; Nit: Avoid * imports http://gerrit.cloudera.org:8080/#/c/14050/20/java/kudu-client/src/test/java/org/apache/kudu/client/TestKuduPredicate.java File java/kudu-client/src/test/java/org/apache/kudu/client/TestKuduPredicate.java: http://gerrit.cloudera.org:8080/#/c/14050/20/java/kudu-client/src/test/java/org/apache/kudu/client/TestKuduPredicate.java@33 PS20, Line 33: import org.apache.kudu.util.CharUtil; Nit: put with Kudu imports http://gerrit.cloudera.org:8080/#/c/14050/20/java/kudu-client/src/test/java/org/apache/kudu/client/TestScanPredicate.java File java/kudu-client/src/test/java/org/apache/kudu/client/TestScanPredicate.java: http://gerrit.cloudera.org:8080/#/c/14050/20/java/kudu-client/src/test/java/org/apache/kudu/client/TestScanPredicate.java@28 PS20, Line 28: import org.apache.kudu.util.CharUtil; Nit: Put with other kudu imports http://gerrit.cloudera.org:8080/#/c/14050/20/java/kudu-spark/src/main/scala/org/apache/kudu/spark/kudu/SparkUtil.scala File java/kudu-spark/src/main/scala/org/apache/kudu/spark/kudu/SparkUtil.scala: http://gerrit.cloudera.org:8080/#/c/14050/20/java/kudu-spark/src/main/scala/org/apache/kudu/spark/kudu/SparkUtil.scala@151 PS20, Line 151: val dt = field.dataType.asInstanceOf[VarcharType] Is there a test for this? I wonder if Spark will actually create a varchar schema given VarcharType in spark is only mean for internal parsing. https://spark.apache.org/docs/latest/api/java/org/apache/spark/sql/types/VarcharType.html Currently I don't think this code can be hit because `sparkTypeToKuduType` won't ever return VARCHAR. I think that is okay and we don't need to worry about autogenerating VARCHAR schemas from Spark. -- To view, visit http://gerrit.cloudera.org:8080/14050 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I03edf5e65409e895512d5cd81a607180632e8995 Gerrit-Change-Number: 14050 Gerrit-PatchSet: 20 Gerrit-Owner: Attila Bukor <[email protected]> Gerrit-Reviewer: Adar Dembo <[email protected]> Gerrit-Reviewer: Attila Bukor <[email protected]> Gerrit-Reviewer: Grant Henke <[email protected]> Gerrit-Reviewer: Kudu Jenkins (120) Gerrit-Reviewer: Todd Lipcon <[email protected]> Gerrit-Comment-Date: Wed, 02 Oct 2019 13:57:44 +0000 Gerrit-HasComments: Yes
