You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@impala.apache.org by ar...@apache.org on 2018/07/25 19:28:14 UTC

[03/10] impala git commit: IMPALA-7330. After LOAD DATA, only refresh affected partition

IMPALA-7330. After LOAD DATA, only refresh affected partition

This changes LOAD DATA so that, if a specific partition is provided,
only the named partition will be refreshed upon completion of the
statement.

No new tests are added since this code path is covered by existing tests
and this just optimizes the metadata reload.

I did verify looking at the catalogd logs that only the single specified
partition was refreshed when I issued a LOAD statement from the shell.

Change-Id: I3b29846deac49a89abcd3495e4b757ef536ff331
Reviewed-on: http://gerrit.cloudera.org:8080/11014
Tested-by: Impala Public Jenkins <im...@cloudera.com>
Reviewed-by: Todd Lipcon <to...@apache.org>


Project: http://git-wip-us.apache.org/repos/asf/impala/repo
Commit: http://git-wip-us.apache.org/repos/asf/impala/commit/b76207c5
Tree: http://git-wip-us.apache.org/repos/asf/impala/tree/b76207c5
Diff: http://git-wip-us.apache.org/repos/asf/impala/diff/b76207c5

Branch: refs/heads/master
Commit: b76207c5924f163f022264730a7b0d977c663300
Parents: 21d0c06
Author: Todd Lipcon <to...@cloudera.com>
Authored: Mon Jul 23 12:28:43 2018 -0700
Committer: Todd Lipcon <to...@apache.org>
Committed: Tue Jul 24 20:45:20 2018 +0000

----------------------------------------------------------------------
 be/src/service/client-request-state.cc | 4 ++++
 1 file changed, 4 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/impala/blob/b76207c5/be/src/service/client-request-state.cc
----------------------------------------------------------------------
diff --git a/be/src/service/client-request-state.cc b/be/src/service/client-request-state.cc
index 896ef49..398ab59 100644
--- a/be/src/service/client-request-state.cc
+++ b/be/src/service/client-request-state.cc
@@ -180,6 +180,10 @@ Status ClientRequestState::Exec(TExecRequest* exec_request) {
       reset_req.reset_metadata_params.__set_is_refresh(true);
       reset_req.reset_metadata_params.__set_table_name(
           exec_request_.load_data_request.table_name);
+      if (exec_request_.load_data_request.__isset.partition_spec) {
+        reset_req.reset_metadata_params.__set_partition_spec(
+            exec_request_.load_data_request.partition_spec);
+      }
       reset_req.reset_metadata_params.__set_sync_ddl(
           exec_request_.query_options.sync_ddl);
       catalog_op_executor_.reset(