[ https://issues.apache.org/jira/browse/KUDU-3198?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17203148#comment-17203148 ]
YifanZhang edited comment on KUDU-3198 at 9/28/20, 10:43 AM: ------------------------------------------------------------- As java client allows delete options with extra column set while c++ client doesn't support this, I fould there may be a problem in encodeRow : [https://github.com/apache/kudu/blob/07eb5a97f17046f6ee61b2a28bdfbe578d3f6d2b/java/kudu-client/src/main/java/org/apache/kudu/client/Operation.java#L365-L373] java api doc of BitSet.clear(int fromIndex, int toIndex): {quote}public void clear(int fromIndex, int toIndex) Sets the bits from the specified {{fromIndex}} (inclusive) to the specified {{toIndex}} (exclusive) to {{false}}. {quote} But why it works well with non-64-column tables? was (Author: zhangyifan27): As java client allows delete options with extra column set while c++ client doesn't support this, I fould there may be a problem in encodeRow : [https://github.com/apache/kudu/blob/07eb5a97f17046f6ee61b2a28bdfbe578d3f6d2b/java/kudu-client/src/main/java/org/apache/kudu/client/Operation.java#L365-L373] java api doc of BitSet.clear(int fromIndex, int toIndex): {quote}public void clear(int fromIndex, int toIndex)Sets the bits from the specified {{fromIndex}} (inclusive) to the specified {{toIndex}} (exclusive) to {{false}}.{quote} But why it works well with non-64-column tables? > Unable to delete a full row from a table with 64 columns when using java > client > ------------------------------------------------------------------------------- > > Key: KUDU-3198 > URL: https://issues.apache.org/jira/browse/KUDU-3198 > Project: Kudu > Issue Type: Bug > Components: java > Affects Versions: 1.12.0, 1.13.0 > Reporter: YifanZhang > Priority: Major > > We recently got an error when deleted full rows from a table with 64 columns > using sparkSQL, however if we delete a column, this error will not appear. > The error is: > {code:java} > Failed to write at least 1000 rows to Kudu; Sample errors: Not implemented: > Unknown row operation type (error 0){code} > I tested this by deleting a full row from a table with 64 column using java > client 1.12.0/1.13.0, if the row is set NULL for some columns, I got an error: > {code:java} > Row error for primary key=[-128, 0, 0, 1], tablet=null, > server=d584b3407ea444519e91b32f2744b162, status=Invalid argument: DELETE > should not have a value for column: c63 STRING NULLABLE (error 0) > {code} > if the row is set values for all columns , I got an error like: > {code:java} > Row error for primary key=[-128, 0, 0, 1], tablet=null, server=null, > status=Corruption: Not enough data for column: c63 STRING NULLABLE (error 0) > {code} > I also tested this with tables with different number of columns. The weird > thing is I could delete full rows from a table with 8/16/32/63/65 columns, > but couldn't do this if the table has 64/128 columns. -- This message was sent by Atlassian Jira (v8.3.4#803005)