Hello Kudu Jenkins,

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


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

Change subject: [WIP] KUDU-861 Support changing default, storage attributes

[WIP] KUDU-861 Support changing default, storage attributes

This patch adds support for adding, changing, or removing column defaults.
It's straightforward, but a bit throny because the column's type (in Java,
even the column name) is not known when the alter is configured. So, for
defaults, the server must best-effort deserialize the value as the correct
type. I think the solution to this in the future might be to make AlterColumn
a method on a KuduTable, rather than a KuduClient, so some type information
is available.

There's another bit of potentially weird or unexpected behavior. Consider:
1. Client writes data to table. Data is flushed to CFiles.
2. Client adds a column with a read default.
3. Some compactions happen. RowSets that are compacted have the new
default written into them.
4. Client changes the read default.
5. As-yet-uncompacted RowSets will now read and compact with the new
default value.
There's no real way to control what gets what default.
This should at least be highlighted in the docs.

Changing type and nullability of a column is still unsupported (doing so
is much more complicated than this).

Change-Id: I457d99ba2188ef6e439df47c0d94f2dc1a62ea6c
M java/kudu-client/src/main/java/org/apache/kudu/client/AlterTableOptions.java
M java/kudu-client/src/main/java/org/apache/kudu/client/ProtobufHelper.java
M java/kudu-client/src/test/java/org/apache/kudu/client/TestKuduTable.java
M src/kudu/client/client-test.cc
M src/kudu/client/schema.cc
M src/kudu/client/schema.h
M src/kudu/client/table_alterer-internal.cc
M src/kudu/client/value-internal.h
M src/kudu/client/value.cc
M src/kudu/common/schema.cc
M src/kudu/common/schema.h
M src/kudu/integration-tests/alter_table-test.cc
M src/kudu/master/catalog_manager.cc
M src/kudu/master/master.proto
14 files changed, 717 insertions(+), 41 deletions(-)

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

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I457d99ba2188ef6e439df47c0d94f2dc1a62ea6c
Gerrit-PatchSet: 5
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Will Berkeley <wdberke...@gmail.com>
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Todd Lipcon <t...@apache.org>
Gerrit-Reviewer: Will Berkeley <wdberke...@gmail.com>

Reply via email to