This is an automated email from the ASF dual-hosted git repository. alexey pushed a commit to branch branch-1.12.x in repository https://gitbox.apache.org/repos/asf/kudu.git
commit 45eb3516e5fd46f846ef92e4e886fd1f3d691bb2 Author: Todd Lipcon <[email protected]> AuthorDate: Wed Apr 22 22:00:07 2020 -0700 client: fix extra construction of ColumnSchema The VARCHAR patches introduced a line 'auto col = schema.column(idx)' which ends up making a copy of the ColumnSchema object instead of taking a reference to it. This is unnecessary and quite slow. This shows up as a significant CPU consumer when running tpch_real_world insert workload. Change-Id: Iafae805979495e7e15c5294a317d6e00255654e0 Reviewed-on: http://gerrit.cloudera.org:8080/15787 Reviewed-by: Andrew Wong <[email protected]> Tested-by: Kudu Jenkins (cherry picked from commit 9c5d8c97915376de4fb6027a3f73d00e160fd1d7) Reviewed-on: http://gerrit.cloudera.org:8080/15788 Reviewed-by: Alexey Serbin <[email protected]> Tested-by: Alexey Serbin <[email protected]> Reviewed-by: Hao Hao <[email protected]> --- src/kudu/common/partial_row.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/kudu/common/partial_row.cc b/src/kudu/common/partial_row.cc index 5a10476..8b3096a 100644 --- a/src/kudu/common/partial_row.cc +++ b/src/kudu/common/partial_row.cc @@ -415,7 +415,7 @@ Status KuduPartialRow::SetVarcharNoCopyUnsafe(const Slice& col_name, const Slice } Status KuduPartialRow::SetVarcharNoCopyUnsafe(int col_idx, const Slice& val) { - auto col = schema_->column(col_idx); + const auto& col = schema_->column(col_idx); if (val.size() > col.type_attributes().length * 4) { return Status::InvalidArgument( Substitute("Value too long, limit is $0 characters", @@ -433,7 +433,7 @@ Status KuduPartialRow::SetSliceCopy(const Slice& col_name, const Slice& val) { template<typename T> Status KuduPartialRow::SetSliceCopy(int col_idx, const Slice& val) { - auto col = schema_->column(col_idx); + const auto& col = schema_->column(col_idx); Slice relocated_val; switch (T::type) { case VARCHAR:
