Hello Tidy Bot, Alexey Serbin, Yifan Zhang, Kudu Jenkins,

I'd like you to reexamine a change. Please visit

    http://gerrit.cloudera.org:8080/18742

to look at the new patch set (#5).

Change subject: KUDU-3353 [schema] Add an immutable attribute on column schema 
(part 1)
......................................................................

KUDU-3353 [schema] Add an immutable attribute on column schema (part 1)

The overview of design:
1. Add a column attribute to define a column as IMMUTABLE, means
   the column cell value can not be updated after it's been written
   during inserting the row.
2. If UPDATE or UPSERT operations are operated on immutable cells
   of a present row, a new added error of Status::IsImmutable()
   will be returned.
3. Use UPDATE_IGNORE and add UPSERT_IGNORE, for UPDATE and UPSERT
   ops but ignore update-errors on IMMUTABLE columns. Note that
   the rows are still upsert/updated but only ignore to update
   the immutable cells.

Some use cases:
1. Some columns are impossible to be updated, but it may present with
   different values in every input data flow. E.g. a column of
   'first_login_timestamp', and present as 'login_timestamp' in data
   flow.
2. Some columns are impossible to be updated, and it may present with
   the same values in every input data flow. We want to reduce the
   length of a column's change list. E.g. a column of 'birthday'.

This patch includes the changes on server side, proto files, and some
necessary changes because of ColumnSchema constructor's been changed.

Change-Id: I01e5a806c0e873239b49e6d0b37a7e36578b508d
---
M java/kudu-client/src/test/java/org/apache/kudu/client/TestKuduSession.java
M src/kudu/client/client-test.cc
M src/kudu/client/scan_configuration.cc
M src/kudu/client/schema.cc
M src/kudu/codegen/codegen-test.cc
M src/kudu/common/column_predicate-test.cc
M src/kudu/common/common.proto
M src/kudu/common/generic_iterators-test.cc
M src/kudu/common/partial_row-test.cc
M src/kudu/common/partition-test.cc
M src/kudu/common/row_operations-test.cc
M src/kudu/common/row_operations.cc
M src/kudu/common/row_operations.h
M src/kudu/common/row_operations.proto
M src/kudu/common/schema-test.cc
M src/kudu/common/schema.cc
M src/kudu/common/schema.h
M src/kudu/common/wire_protocol-test.cc
M src/kudu/common/wire_protocol.cc
M src/kudu/common/wire_protocol.proto
M src/kudu/consensus/log-test.cc
M src/kudu/master/master.proto
M src/kudu/master/master_service.cc
M src/kudu/tablet/all_types-scan-correctness-test.cc
M src/kudu/tablet/cfile_set-test.cc
M src/kudu/tablet/diskrowset-test.cc
M src/kudu/tablet/local_tablet_writer.h
M src/kudu/tablet/ops/op.cc
M src/kudu/tablet/ops/op.h
M src/kudu/tablet/ops/write_op.cc
M src/kudu/tablet/row_op.cc
M src/kudu/tablet/tablet-decoder-eval-test.cc
M src/kudu/tablet/tablet-test-base.h
M src/kudu/tablet/tablet-test-util.h
M src/kudu/tablet/tablet-test.cc
M src/kudu/tablet/tablet.cc
M src/kudu/tablet/tablet.h
M src/kudu/tablet/tablet_bootstrap.cc
M src/kudu/tablet/tablet_metrics.cc
M src/kudu/tablet/tablet_metrics.h
M src/kudu/tablet/tablet_random_access-test.cc
M src/kudu/tablet/txn_participant-test.cc
M src/kudu/tools/kudu-tool-test.cc
M src/kudu/tserver/tablet_server_authorization-test.cc
M src/kudu/tserver/tserver.proto
M src/kudu/util/status.cc
M src/kudu/util/status.h
47 files changed, 396 insertions(+), 64 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/42/18742/5
--
To view, visit http://gerrit.cloudera.org:8080/18742
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I01e5a806c0e873239b49e6d0b37a7e36578b508d
Gerrit-Change-Number: 18742
Gerrit-PatchSet: 5
Gerrit-Owner: Yingchun Lai <[email protected]>
Gerrit-Reviewer: Alexey Serbin <[email protected]>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Tidy Bot (241)
Gerrit-Reviewer: Yifan Zhang <[email protected]>
Gerrit-Reviewer: Yingchun Lai <[email protected]>

Reply via email to