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

Yanlong_Zheng commented on KUDU-1757:
-------------------------------------

This issue still occurs in current kudu (1.2.0-SNAPSHOT 
kudu-client-1.2.0-20161124.045847-24.jar).
When run newInsert() in spark-shell, the REPL tries to print the result of each 
line, and in this case it's trying to stringify the insert before you've set 
any columns on it.
The line below in function appendCellValueDebugString in PartialRow.java 
actually throws the exception and stops the process:
    Preconditions.checkState(columnsBitSet.get(idx), "Column %s is not set", 
col.getName());

I think this line should be fixed as the purpose of this function is to append 
debug information. It should not impact the process.


> Issue with newInsert() in spark-shell
> -------------------------------------
>
>                 Key: KUDU-1757
>                 URL: https://issues.apache.org/jira/browse/KUDU-1757
>             Project: Kudu
>          Issue Type: Bug
>          Components: api, client
>    Affects Versions: 1.0.1
>         Environment: hardware: Azure cloud, 3 nodes
> OS: CentOS 6.6
> Kudu: 1.0.0-1.kudu1.0.0.p0.6
> Kudu client jar: kudu-client-1.0.1.jar
> spark: spark 1.6.0
>            Reporter: Yanlong_Zheng
>            Priority: Minor
>              Labels: easytest
>
> Hi,
> When trying java kudu api in spark-shell. I met error when tried to insert 
> data into kudu.
> In spark-shell:
> scala> import org.apache.kudu.ColumnSchema;
> import org.apache.kudu.ColumnSchema
> scala> import org.apache.kudu.Schema;
> import org.apache.kudu.Schema
> scala> import org.apache.kudu.Type;
> import org.apache.kudu.Type
> scala> import org.apache.kudu.client._
> import org.apache.kudu.client._
> scala> import java.util.ArrayList;
> import java.util.ArrayList
> scala> import java.util.List;
> import java.util.List
> scala> val kc = new 
> KuduClient.KuduClientBuilder("XXX.XXX.XXX.XXX:7051").build()
> kc: org.apache.kudu.client.KuduClient = 
> org.apache.kudu.client.KuduClient@2b852e9
> scala> val ktbl = kc.openTable("kudu_scala_test")
> ktbl: org.apache.kudu.client.KuduTable = 
> org.apache.kudu.client.KuduTable@7e26fb98
> scala> val ksession = kc.newSession()
> ksession: org.apache.kudu.client.KuduSession = 
> org.apache.kudu.client.KuduSession@cc1f71e
> scala> val kins = ktbl.newInsert()
> java.lang.IllegalStateException: Column id is not set      <== id is the 
> first column in the table.
>      at 
> org.apache.kudu.client.shaded.com.google.common.base.Preconditions.checkState(Preconditions.java:197)
>      at 
> org.apache.kudu.client.PartialRow.appendDebugString(PartialRow.java:559)
>      at org.apache.kudu.client.PartialRow.stringifyRowKey(PartialRow.java:532)
>      at org.apache.kudu.client.Operation.toString(Operation.java:202)
>      at 
> scala.runtime.ScalaRunTime$.scala$runtime$ScalaRunTime$$inner$1(ScalaRunTime.scala:324)
>      at scala.runtime.ScalaRunTime$.stringOf(ScalaRunTime.scala:329)
>      at scala.runtime.ScalaRunTime$.replStringOf(ScalaRunTime.scala:337)
>      at .<init>(<console>:10)
>      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:1045)
>      at 
> org.apache.spark.repl.SparkIMain$Request.loadAndRun(SparkIMain.scala:1326)
>      at org.apache.spark.repl.SparkIMain.loadAndRunReq$1(SparkIMain.scala:821)
>      at org.apache.spark.repl.SparkIMain.interpret(SparkIMain.scala:852)
>      at org.apache.spark.repl.SparkIMain.interpret(SparkIMain.scala:800)
>      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:1064)
>      at org.apache.spark.repl.Main$.main(Main.scala:31)
>      at org.apache.spark.repl.Main.main(Main.scala)
>      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.deploy.SparkSubmit$.org$apache$spark$deploy$SparkSubmit$$runMain(SparkSubmit.scala:731)
>      at 
> org.apache.spark.deploy.SparkSubmit$.doRunMain$1(SparkSubmit.scala:181)
>      at org.apache.spark.deploy.SparkSubmit$.submit(SparkSubmit.scala:206)
>      at org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:121)
>      at org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala)
> I have tried the kudu java sample, it worked well in java.



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

Reply via email to