Todd Lipcon has submitted this change and it was merged.

Change subject: KUDU-1775 (part 2). Enforce a max number of columns and 
reasonable identifier lengths

KUDU-1775 (part 2). Enforce a max number of columns and reasonable identifier 

* Disallows unreasonable identifiers such as empty strings or strings
  longer than a configurable maximum size. I set the default max size to
  256. MySQL[1] and PostgreSQL[2] seem to limit identifiers to 64
  characters, and Oracle[3] seems to limit to 30. So 256 seemed like it
  should be plenty. The flag is marked as unsafe but if anyone has a
  compatibility issue on upgrade, the limit can be raised.

* Enforces a maximum number of columns, set here to 300 as a default.
  Really wide tables are an anti-pattern, and although some initial
  testing shows that we won't completely fail until a few thousand
  columns, we probably want to put a guard rail up well before the
  failure point.

  Again, if users are depending on a higher number, this can be worked
  around by raising the default through an unsafe flag.


Change-Id: I9cab30dd1ea78a160403c79442b08739ddc92f12
Reviewed-by: Todd Lipcon <>
Reviewed-by: Dan Burkert <>
Tested-by: Kudu Jenkins
M java/kudu-client/pom.xml
M java/kudu-client/src/test/java/org/apache/kudu/client/
M java/pom.xml
M src/kudu/client/
M src/kudu/master/
M src/kudu/master/
6 files changed, 225 insertions(+), 59 deletions(-)

  Dan Burkert: Looks good to me, approved
  Todd Lipcon: Looks good to me, approved
  Kudu Jenkins: Verified

To view, visit
To unsubscribe, visit

Gerrit-MessageType: merged
Gerrit-Change-Id: I9cab30dd1ea78a160403c79442b08739ddc92f12
Gerrit-PatchSet: 6
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Todd Lipcon <>
Gerrit-Reviewer: Adar Dembo <>
Gerrit-Reviewer: Dan Burkert <>
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Matthew Jacobs <>
Gerrit-Reviewer: Todd Lipcon <>
Gerrit-Reviewer: Will Berkeley <>

Reply via email to