[jira] [Commented] (KUDU-3198) Unable to delete a full row from a table with 64 columns when using java client

2020-10-09 Thread ASF subversion and git services (Jira)


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

ASF subversion and git services commented on KUDU-3198:
---

Commit ea48c9b181e3256cb96940c8d6bbf2f5ec3c3607 in kudu's branch 
refs/heads/master from zhangyifan27
[ https://gitbox.apache.org/repos/asf?p=kudu.git;h=ea48c9b ]

KUDU-3198: fix encodeRow() when encoding delete operations

Before this patch, not all non-key columns are cleared when
encoding delete row operations. If users delele with full row
from a 64 column table, the operation would fail.

Change-Id: I144e1998b99be3e660b7f320c55e4b1c9753a61f
Reviewed-on: http://gerrit.cloudera.org:8080/16571
Reviewed-by: Grant Henke 
Tested-by: Grant Henke 
Reviewed-by: Alexey Serbin 


> 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 from the table, 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)


[jira] [Commented] (KUDU-3198) Unable to delete a full row from a table with 64 columns when using java client

2020-09-28 Thread YifanZhang (Jira)


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

YifanZhang commented on KUDU-3198:
--

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)