[ https://issues.apache.org/jira/browse/KUDU-1945?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17745418#comment-17745418 ]
ASF subversion and git services commented on KUDU-1945: ------------------------------------------------------- Commit 89f5afe06649b6cc5e2a293edb829d39fc29ca31 in kudu's branch refs/heads/branch-1.17.x from Abhishek Chennaka [ https://gitbox.apache.org/repos/asf?p=kudu.git;h=89f5afe06 ] [server] KUDU-1945 Auto_incrementing column UPSERT support Add UPSERT operation support on the server side when the entire row is present in the request including the auto-incrementing column. There will be followup patches to update the clients and test the corresponding changes as well. With this patch the expected behavior for different operations from Kudu clients is as follows: Operation Presence of auto-incrementing column INSERT/INSERT_IGNORE Should not be specified UPDATE/UPDATE_IGNORE Has to be specified UPSERT/UPSERT_IGNORE Has to be specified DELETE/DELETE_IGNORE Has to be specified This implementation of UPSERT operation behavior in this patch is to facilitate incremental restores consistently when using Kudu backup and restore tool. More details in the design document: https://docs.google.com/document/d/1-x6F5TkRYMqt2umDBQ5x-Aa4dqKwFYpbxo1A6QoMafo/edit#heading=h.vnagsa4oxwrf Change-Id: Ib5cc4d80f77c165452572948f68c76fc70394d47 Reviewed-on: http://gerrit.cloudera.org:8080/20061 Reviewed-by: Alexey Serbin <ale...@apache.org> Tested-by: Alexey Serbin <ale...@apache.org> (cherry picked from commit cbbb60e532e388665480f1c8be383305eb8fae62) Reviewed-on: http://gerrit.cloudera.org:8080/20227 Reviewed-by: Yingchun Lai <laiyingc...@apache.org> Tested-by: Yingchun Lai <laiyingc...@apache.org> > Support generation of surrogate primary keys (or tables with no PK) > ------------------------------------------------------------------- > > Key: KUDU-1945 > URL: https://issues.apache.org/jira/browse/KUDU-1945 > Project: Kudu > Issue Type: New Feature > Components: client, master, tablet > Reporter: Todd Lipcon > Priority: Major > Labels: roadmap-candidate > > Many use cases have data where there is no "natural" primary key. For > example, a web log use case mostly cares about partitioning and not about > precise sorting by timestamp, and timestamps themselves are not necessarily > unique. Rather than forcing users to come up with their own surrogate primary > keys, Kudu should support some kind of "auto_increment" equivalent which > generates primary keys on insertion. Alternatively, Kudu could support tables > which are partitioned but not internally sorted. > The advantages would be: > - Kudu can pick primary keys on insertion to guarantee that there is no > compaction required on the table (eg always assign a new key higher than any > existing key in the local tablet). This can improve write throughput > substantially, especially compared to naive PK generation schemes that a user > might pick such as UUID, which would generate a uniform random-insert > workload (worst case for performance) > - Make Kudu easier to use for such use cases (no extra client code necessary) -- This message was sent by Atlassian Jira (v8.20.10#820010)