You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@kudu.apache.org by "Xu Yao (JIRA)" <ji...@apache.org> on 2019/07/12 03:09:00 UTC

[jira] [Commented] (KUDU-2889) Per-row error indication in prepare phase

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

Xu Yao commented on KUDU-2889:
------------------------------

Emm, maybe we could consider adding some validation on the client-side.

> Per-row error indication in prepare phase
> -----------------------------------------
>
>                 Key: KUDU-2889
>                 URL: https://issues.apache.org/jira/browse/KUDU-2889
>             Project: Kudu
>          Issue Type: Improvement
>          Components: tserver
>    Affects Versions: 0.10.0
>            Reporter: Yingchun Lai
>            Assignee: Yingchun Lai
>            Priority: Minor
>
> In prepare phase of write path, some row data may have some errors, like missing a non-nullable field value, then the whole batch will fail, even if the other rows have no errors.
> It's a kind of waste, we should take best effect for the batch as how it work in apply phase, partial rows errors should not fail the whole batch operation.
>  
> For example, these code can be improved:
> [https://github.com/apache/kudu/blob/master/src/kudu/common/row_operations.cc#L387]
> {code:java}
>       if (PREDICT_FALSE(!(col.is_nullable() || col.has_write_default()))) {
> 	// TODO: change this to return per-row errors. Otherwise if one row in a batch
> 	// is missing a field for some reason, the whole batch will fail.
> 	return Status::InvalidArgument("No value provided for required column",
> 	col.ToString());
>       }
> {code}



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)