This is an automated email from the ASF dual-hosted git repository.

stigahuang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/impala.git

commit 715af9af42e86a3a1f31061ed2d41ed425accd0e
Author: stiga-huang <[email protected]>
AuthorDate: Wed May 24 19:12:46 2023 +0800

    IMPALA-6665: Tag CatalogOp logs with query ids
    
    Adds query id in TCatalogServiceRequestHeader. Coordinator uses it to
    pass the query id in catalogd RPCs. The query id is then used in
    catalogd to be set in the ThreadDebugInfo. It will be prepended to logs
    of the thread executing the RPC.
    
    Note that prepending the query id got from the thread local
    ThreadDebugInfo is an existing mechanism already used in coordinator.
    All log levels will be affected.
    
    Here is an example of a CTAS command. It actually contains two RPCs,
    an execDdl and an updateCatalog request. The query id binds them
    together.
    
    I0524 22:16:58.439786 17112 JniUtil.java:166] 
5043cba7eaa92133:600815f800000000] execDdl request: CREATE_TABLE_AS_SELECT 
test_generic_java_udfs_ea877ad4.replace_string_input issued by jenkins
    I0524 22:16:58.450062 17112 Table.java:221] 
5043cba7eaa92133:600815f800000000] createEventId_ for table: 
test_generic_java_udfs_ea877ad4.replace_string_input set to: 41893
    I0524 22:16:58.450099 17112 Table.java:236] 
5043cba7eaa92133:600815f800000000] lastSyncedEventId_ for table: 
test_generic_java_udfs_ea877ad4.replace_string_input set from -1 to 41893
    I0524 22:16:58.450129 17112 CatalogOpExecutor.java:3607] 
5043cba7eaa92133:600815f800000000] Created catalog table 
test_generic_java_udfs_ea877ad4.replace_string_input with create event id 41893
    I0524 22:16:58.450171 17112 JniUtil.java:177] 
5043cba7eaa92133:600815f800000000] Finished execDdl request: 
CREATE_TABLE_AS_SELECT test_generic_java_udfs_ea877ad4.replace_string_input 
issued by jenkins. Time spent: 11ms
    I0524 22:16:58.469336  8057 JniUtil.java:166] 
5043cba7eaa92133:600815f800000000] updateCatalog request: Update catalog for 
test_generic_java_udfs_ea877ad4.replace_string_input
    I0524 22:16:58.469403  8057 TableLoadingMgr.java:72] 
5043cba7eaa92133:600815f800000000] Loading metadata for table: 
test_generic_java_udfs_ea877ad4.replace_string_input
    I0524 22:16:58.469463 12091 TableLoader.java:76] Loading metadata for: 
test_generic_java_udfs_ea877ad4.replace_string_input (Load for INSERT)
    I0524 22:16:58.469496  8057 TableLoadingMgr.java:74] 
5043cba7eaa92133:600815f800000000] Remaining items in queue: 0. Loads in 
progress: 1
    I0524 22:16:58.473240 12091 Table.java:221] createEventId_ for table: 
test_generic_java_udfs_ea877ad4.replace_string_input set to: 41893
    I0524 22:16:58.473273 12091 Table.java:236] lastSyncedEventId_ for table: 
test_generic_java_udfs_ea877ad4.replace_string_input set from -1 to 41893
    I0524 22:16:58.473307 12091 HdfsTable.java:1243] Loading metadata for table 
definition and all partition(s) of 
test_generic_java_udfs_ea877ad4.replace_string_input (Load for INSERT)
    I0524 22:16:58.473488 12091 HdfsTable.java:1863] Loaded 1 columns from HMS. 
Actual columns: 1
    I0524 22:16:58.476650 12091 HdfsTable.java:3028] Load Valid Write Id List 
Done. Time taken: 1.545us
    I0524 22:16:58.476675 12091 HdfsTable.java:1282] Fetching partition 
metadata from the Metastore: 
test_generic_java_udfs_ea877ad4.replace_string_input
    I0524 22:16:58.477051 12091 MetaStoreUtil.java:190] Fetching 0 partitions 
for: test_generic_java_udfs_ea877ad4.replace_string_input using partition batch 
size: 1000
    I0524 22:16:58.477066 12091 HdfsTable.java:1289] Fetched partition metadata 
from the Metastore: test_generic_java_udfs_ea877ad4.replace_string_input
    I0524 22:16:58.477887 12091 HdfsTable.java:813] Loaded file and block 
metadata for test_generic_java_udfs_ea877ad4.replace_string_input partitions: . 
Time taken: 442.635us
    I0524 22:16:58.478031 12091 Table.java:1048] last refreshed event id for 
table: test_generic_java_udfs_ea877ad4.replace_string_input set to: -1
    I0524 22:16:58.478052 12091 TableLoader.java:176] Loaded metadata for: 
test_generic_java_udfs_ea877ad4.replace_string_input (8ms)
    I0524 22:16:58.479095  8057 CatalogOpExecutor.java:6937] 
5043cba7eaa92133:600815f800000000] 1 new files detected for table 
test_generic_java_udfs_ea877ad4.replace_string_input
    I0524 22:16:58.479876  8057 MetastoreShim.java:476] 
5043cba7eaa92133:600815f800000000] Firing 1 insert event(s) for 
test_generic_java_udfs_ea877ad4.replace_string_input
    I0524 22:16:58.484315  8057 MetastoreShim.java:414] 
5043cba7eaa92133:600815f800000000] Time taken to fire insert events on table 
test_generic_java_udfs_ea877ad4.replace_string_input: 4 msec
    I0524 22:16:58.484354  8057 CatalogServiceCatalog.java:1126] 
5043cba7eaa92133:600815f800000000] Added eventId 41894 in table's 
test_generic_java_udfs_ea877ad4.replace_string_input in-flight events
    I0524 22:16:58.487223  8057 HdfsTable.java:1243] 
5043cba7eaa92133:600815f800000000] Reloading metadata for all partition(s) of 
test_generic_java_udfs_ea877ad4.replace_string_input (INSERT)
    I0524 22:16:58.487262  8057 HdfsTable.java:3028] 
5043cba7eaa92133:600815f800000000] Load Valid Write Id List Done. Time taken: 
1.506us
    I0524 22:16:58.487931  8057 HdfsTable.java:813] 
5043cba7eaa92133:600815f800000000] Loaded file and block metadata for 
test_generic_java_udfs_ea877ad4.replace_string_input partitions: . Time taken: 
262.133us
    I0524 22:16:58.487958  8057 HdfsTable.java:1280] 
5043cba7eaa92133:600815f800000000] Incrementally loaded table metadata for: 
test_generic_java_udfs_ea877ad4.replace_string_input
    I0524 22:16:58.488173  8057 JniUtil.java:177] 
5043cba7eaa92133:600815f800000000] Finished updateCatalog request: Update 
catalog for test_generic_java_udfs_ea877ad4.replace_string_input. Time spent: 
19ms
    
    Note that table loading is executed asynchronizedly in other Java
    threads. They are not tagged with query id yet. We can improve this in
    the future.
    
    Tests:
     - Build and run tests locally
    
    Change-Id: I90933433e23a171993de3c1ee355d776a53eda66
    Reviewed-on: http://gerrit.cloudera.org:8080/19926
    Reviewed-by: Impala Public Jenkins <[email protected]>
    Tested-by: Impala Public Jenkins <[email protected]>
---
 be/src/catalog/catalog.cc                                   | 13 +++++++++++++
 be/src/service/client-request-state.cc                      |  1 +
 common/thrift/CatalogService.thrift                         |  3 +++
 .../java/org/apache/impala/analysis/ResetMetadataStmt.java  |  7 ++++++-
 .../java/org/apache/impala/analysis/StmtMetadataLoader.java |  9 ++++++---
 fe/src/main/java/org/apache/impala/catalog/FeCatalog.java   |  5 ++++-
 .../main/java/org/apache/impala/catalog/ImpaladCatalog.java |  7 +++++--
 .../java/org/apache/impala/catalog/local/LocalCatalog.java  |  2 +-
 fe/src/main/java/org/apache/impala/service/FeSupport.java   | 10 +++++++---
 fe/src/main/java/org/apache/impala/service/Frontend.java    |  5 +++--
 .../org/apache/impala/analysis/StmtMetadataLoaderTest.java  |  2 +-
 .../test/java/org/apache/impala/common/FrontendFixture.java |  4 ++--
 .../java/org/apache/impala/common/FrontendTestBase.java     |  4 ++--
 .../java/org/apache/impala/testutil/ImpaladTestCatalog.java |  3 ++-
 14 files changed, 56 insertions(+), 19 deletions(-)

diff --git a/be/src/catalog/catalog.cc b/be/src/catalog/catalog.cc
index e918d4e10..3553b8f29 100644
--- a/be/src/catalog/catalog.cc
+++ b/be/src/catalog/catalog.cc
@@ -21,6 +21,7 @@
 #include <string>
 
 #include "common/logging.h"
+#include "common/thread-debug-info.h"
 #include "rpc/jni-thrift-util.h"
 #include "util/backend-gflag-util.h"
 
@@ -120,16 +121,25 @@ Status Catalog::GetCatalogDelta(CatalogServer* caller, 
int64_t from_version,
 }
 
 Status Catalog::ExecDdl(const TDdlExecRequest& req, TDdlExecResponse* resp) {
+  if (req.__isset.header && req.header.__isset.query_id) {
+    GetThreadDebugInfo()->SetQueryId(req.header.query_id);
+  }
   return JniUtil::CallJniMethod(catalog_, exec_ddl_id_, req, resp);
 }
 
 Status Catalog::ResetMetadata(const TResetMetadataRequest& req,
     TResetMetadataResponse* resp) {
+  if (req.__isset.header && req.header.__isset.query_id) {
+    GetThreadDebugInfo()->SetQueryId(req.header.query_id);
+  }
   return JniUtil::CallJniMethod(catalog_, reset_metadata_id_, req, resp);
 }
 
 Status Catalog::UpdateCatalog(const TUpdateCatalogRequest& req,
     TUpdateCatalogResponse* resp) {
+  if (req.__isset.header && req.header.__isset.query_id) {
+    GetThreadDebugInfo()->SetQueryId(req.header.query_id);
+  }
   return JniUtil::CallJniMethod(catalog_, update_metastore_id_, req, resp);
 }
 
@@ -180,6 +190,9 @@ Status Catalog::GetFunctions(const TGetFunctionsRequest& 
request,
 }
 
 Status Catalog::PrioritizeLoad(const TPrioritizeLoadRequest& req) {
+  if (req.__isset.header && req.header.__isset.query_id) {
+    GetThreadDebugInfo()->SetQueryId(req.header.query_id);
+  }
   return JniUtil::CallJniMethod(catalog_, prioritize_load_id_, req);
 }
 
diff --git a/be/src/service/client-request-state.cc 
b/be/src/service/client-request-state.cc
index 0e3ab995f..3513070e8 100644
--- a/be/src/service/client-request-state.cc
+++ b/be/src/service/client-request-state.cc
@@ -2165,6 +2165,7 @@ TCatalogServiceRequestHeader 
ClientRequestState::GetCatalogServiceRequestHeader(
   header.__set_redacted_sql_stmt(
       query_ctx_.client_request.__isset.redacted_stmt ?
           query_ctx_.client_request.redacted_stmt : 
query_ctx_.client_request.stmt);
+  header.__set_query_id(query_ctx_.query_id);
   return header;
 }
 
diff --git a/common/thrift/CatalogService.thrift 
b/common/thrift/CatalogService.thrift
index 57c4b0a2b..bb3482cec 100644
--- a/common/thrift/CatalogService.thrift
+++ b/common/thrift/CatalogService.thrift
@@ -64,6 +64,9 @@ struct TCatalogServiceRequestHeader {
   // Set by LocalCatalog coordinators. The response will contain minimal 
catalog objects
   // (for invalidations) instead of full catalog objects.
   4: optional bool want_minimal_response
+
+  // The query id if this request comes from a query
+  5: optional Types.TUniqueId query_id
 }
 
 // Returns details on the result of an operation that updates the catalog. 
Information
diff --git a/fe/src/main/java/org/apache/impala/analysis/ResetMetadataStmt.java 
b/fe/src/main/java/org/apache/impala/analysis/ResetMetadataStmt.java
index 29f9393c3..b50c93a55 100644
--- a/fe/src/main/java/org/apache/impala/analysis/ResetMetadataStmt.java
+++ b/fe/src/main/java/org/apache/impala/analysis/ResetMetadataStmt.java
@@ -27,10 +27,10 @@ import org.apache.impala.catalog.FeTable;
 import org.apache.impala.catalog.TableLoadingException;
 import org.apache.impala.common.AnalysisException;
 import org.apache.impala.common.InternalException;
-import org.apache.impala.service.BackendConfig;
 import org.apache.impala.thrift.TCatalogServiceRequestHeader;
 import org.apache.impala.thrift.TResetMetadataRequest;
 import org.apache.impala.thrift.TTableName;
+import org.apache.impala.thrift.TUniqueId;
 import org.apache.impala.util.AcidUtils;
 
 import com.google.common.base.Preconditions;
@@ -79,6 +79,9 @@ public class ResetMetadataStmt extends StatementBase {
   // Set during analysis.
   private User requestingUser_;
 
+  // Set during analysis.
+  private TUniqueId queryId_;
+
   private ResetMetadataStmt(Action action, String db, TableName tableName,
       PartitionSpec partitionSpec) {
     Preconditions.checkNotNull(action);
@@ -142,6 +145,7 @@ public class ResetMetadataStmt extends StatementBase {
   @Override
   public void analyze(Analyzer analyzer) throws AnalysisException {
     requestingUser_ = analyzer.getUser();
+    queryId_ = analyzer.getQueryCtx().getQuery_id();
     switch (action_) {
       case INVALIDATE_METADATA_TABLE:
       case REFRESH_TABLE:
@@ -252,6 +256,7 @@ public class ResetMetadataStmt extends StatementBase {
     TResetMetadataRequest params = new TResetMetadataRequest();
     params.setHeader(new TCatalogServiceRequestHeader());
     params.header.setRequesting_user(requestingUser_.getShortName());
+    params.header.setQuery_id(queryId_);
     params.setIs_refresh(action_.isRefresh());
     if (tableName_ != null) {
       params.setTable_name(new TTableName(tableName_.getDb(), 
tableName_.getTbl()));
diff --git 
a/fe/src/main/java/org/apache/impala/analysis/StmtMetadataLoader.java 
b/fe/src/main/java/org/apache/impala/analysis/StmtMetadataLoader.java
index 9bceee118..7bcdb81d2 100644
--- a/fe/src/main/java/org/apache/impala/analysis/StmtMetadataLoader.java
+++ b/fe/src/main/java/org/apache/impala/analysis/StmtMetadataLoader.java
@@ -40,6 +40,7 @@ import org.apache.impala.common.AnalysisException;
 import org.apache.impala.common.InternalException;
 import org.apache.impala.compat.MetastoreShim;
 import org.apache.impala.service.Frontend;
+import org.apache.impala.thrift.TUniqueId;
 import org.apache.impala.util.AcidUtils;
 import org.apache.impala.util.EventSequence;
 import org.apache.impala.util.TUniqueIdUtil;
@@ -65,6 +66,7 @@ public class StmtMetadataLoader {
   private final String sessionDb_;
   private final EventSequence timeline_;
   private final User user_;
+  private final TUniqueId queryId_;
 
   // Results of the loading process. See StmtTableCache.
   private final Set<String> dbs_ = new HashSet<>();
@@ -110,11 +112,12 @@ public class StmtMetadataLoader {
    * column-masking/row-filtering policies.
    */
   public StmtMetadataLoader(Frontend fe, String sessionDb, EventSequence 
timeline,
-      User user) {
+      User user, TUniqueId queryId) {
     fe_ = Preconditions.checkNotNull(fe);
     sessionDb_ = Preconditions.checkNotNull(sessionDb);
     timeline_ = timeline;
     user_ = user;
+    queryId_ = queryId;
   }
 
   /**
@@ -123,7 +126,7 @@ public class StmtMetadataLoader {
    * keys, cross reference of a table.
    */
   public StmtMetadataLoader(Frontend fe, String sessionDb, EventSequence 
timeline) {
-    this(fe, sessionDb, timeline, null);
+    this(fe, sessionDb, timeline, null, null);
   }
 
   // Getters for testing
@@ -195,7 +198,7 @@ public class StmtMetadataLoader {
     // on-demand in the first recursive call to 'getMissingTables' above.
     while (!missingTbls.isEmpty()) {
       if (issueLoadRequest) {
-        catalog.prioritizeLoad(missingTbls);
+        catalog.prioritizeLoad(missingTbls, queryId_);
         ++numLoadRequestsSent_;
         requestedTbls.addAll(missingTbls);
       }
diff --git a/fe/src/main/java/org/apache/impala/catalog/FeCatalog.java 
b/fe/src/main/java/org/apache/impala/catalog/FeCatalog.java
index 4b6fc4589..4d2bee81e 100644
--- a/fe/src/main/java/org/apache/impala/catalog/FeCatalog.java
+++ b/fe/src/main/java/org/apache/impala/catalog/FeCatalog.java
@@ -28,6 +28,8 @@ import org.apache.impala.thrift.TPartitionKeyValue;
 import org.apache.impala.thrift.TUniqueId;
 import org.apache.impala.util.PatternMatcher;
 
+import javax.annotation.Nullable;
+
 /**
  * Interface between the front-end (analysis and planning) classes and the 
Catalog.
  */
@@ -80,7 +82,8 @@ public interface FeCatalog {
   /**
    * Issues a load request to the catalogd for the given tables.
    */
-  void prioritizeLoad(Set<TableName> tableNames) throws InternalException;
+  void prioritizeLoad(Set<TableName> tableNames, @Nullable TUniqueId queryId)
+      throws InternalException;
 
   /**
    * Fetches partition statistics for a table. The table is loaded if needed. 
If the table
diff --git a/fe/src/main/java/org/apache/impala/catalog/ImpaladCatalog.java 
b/fe/src/main/java/org/apache/impala/catalog/ImpaladCatalog.java
index 965039948..2d389f8ef 100644
--- a/fe/src/main/java/org/apache/impala/catalog/ImpaladCatalog.java
+++ b/fe/src/main/java/org/apache/impala/catalog/ImpaladCatalog.java
@@ -59,6 +59,8 @@ import org.slf4j.LoggerFactory;
 
 import com.google.common.base.Preconditions;
 
+import javax.annotation.Nullable;
+
 /**
  * Thread safe Catalog for an Impalad.  The Impalad catalog can be updated 
either via
  * a StateStore heartbeat or by directly applying the result of a catalog 
operation to
@@ -278,8 +280,9 @@ public class ImpaladCatalog extends Catalog implements 
FeCatalog {
 
 
   @Override // FeCatalog
-  public void prioritizeLoad(Set<TableName> tableNames) throws 
InternalException {
-    FeSupport.PrioritizeLoad(tableNames);
+  public void prioritizeLoad(Set<TableName> tableNames, @Nullable TUniqueId 
queryId)
+      throws InternalException {
+    FeSupport.PrioritizeLoad(tableNames, queryId);
   }
 
   @Override // FeCatalog
diff --git a/fe/src/main/java/org/apache/impala/catalog/local/LocalCatalog.java 
b/fe/src/main/java/org/apache/impala/catalog/local/LocalCatalog.java
index 801160565..c194e5aae 100644
--- a/fe/src/main/java/org/apache/impala/catalog/local/LocalCatalog.java
+++ b/fe/src/main/java/org/apache/impala/catalog/local/LocalCatalog.java
@@ -227,7 +227,7 @@ public class LocalCatalog implements FeCatalog {
   }
 
   @Override
-  public void prioritizeLoad(Set<TableName> tableNames) {
+  public void prioritizeLoad(Set<TableName> tableNames, TUniqueId queryId) {
     // No-op for local catalog.
   }
 
diff --git a/fe/src/main/java/org/apache/impala/service/FeSupport.java 
b/fe/src/main/java/org/apache/impala/service/FeSupport.java
index d2e593b97..7e9d08cea 100644
--- a/fe/src/main/java/org/apache/impala/service/FeSupport.java
+++ b/fe/src/main/java/org/apache/impala/service/FeSupport.java
@@ -47,6 +47,7 @@ import org.apache.impala.thrift.TResultRow;
 import org.apache.impala.thrift.TSymbolLookupParams;
 import org.apache.impala.thrift.TSymbolLookupResult;
 import org.apache.impala.thrift.TTable;
+import org.apache.impala.thrift.TUniqueId;
 import org.apache.impala.util.NativeLibUtil;
 import org.apache.thrift.TDeserializer;
 import org.apache.thrift.TException;
@@ -58,6 +59,8 @@ import org.slf4j.LoggerFactory;
 import com.google.common.base.Joiner;
 import com.google.common.base.Preconditions;
 
+import javax.annotation.Nullable;
+
 /**
  * This class provides the Impala executor functionality to the FE.
  * fe-support.cc implements all the native calls.
@@ -308,8 +311,8 @@ public class FeSupport {
     return NativePrioritizeLoad(thriftReq);
   }
 
-  public static void PrioritizeLoad(Set<TableName> tableNames)
-      throws InternalException {
+  public static void PrioritizeLoad(Set<TableName> tableNames,
+      @Nullable TUniqueId queryId) throws InternalException {
     Preconditions.checkNotNull(tableNames);
 
     LOG.info(String.format("Requesting prioritized load of table(s): %s",
@@ -323,8 +326,9 @@ public class FeSupport {
       objectDescs.add(catalogObject);
     }
 
-    TPrioritizeLoadRequest request = new TPrioritizeLoadRequest ();
+    TPrioritizeLoadRequest request = new TPrioritizeLoadRequest();
     request.setHeader(new TCatalogServiceRequestHeader());
+    request.header.setQuery_id(queryId);
     request.setObject_descs(objectDescs);
 
     try {
diff --git a/fe/src/main/java/org/apache/impala/service/Frontend.java 
b/fe/src/main/java/org/apache/impala/service/Frontend.java
index ea406cae5..9786f1856 100644
--- a/fe/src/main/java/org/apache/impala/service/Frontend.java
+++ b/fe/src/main/java/org/apache/impala/service/Frontend.java
@@ -859,6 +859,7 @@ public class Frontend {
       TCatalogServiceRequestHeader header = new TCatalogServiceRequestHeader();
       header.setRequesting_user(analysis.getAnalyzer().getUser().getName());
       TQueryCtx queryCtx = analysis.getAnalyzer().getQueryCtx();
+      header.setQuery_id(queryCtx.query_id);
       
header.setClient_ip(queryCtx.getSession().getNetwork_address().getHostname());
       TClientRequest clientRequest = queryCtx.getClient_request();
       header.setRedacted_sql_stmt(clientRequest.isSetRedacted_stmt() ?
@@ -2296,8 +2297,8 @@ public class Frontend {
     StatementBase stmt = Parser.parse(
         queryCtx.client_request.stmt, queryCtx.client_request.query_options);
     User user = new User(TSessionStateUtil.getEffectiveUser(queryCtx.session));
-    StmtMetadataLoader metadataLoader =
-        new StmtMetadataLoader(this, queryCtx.session.database, timeline, 
user);
+    StmtMetadataLoader metadataLoader = new StmtMetadataLoader(
+        this, queryCtx.session.database, timeline, user, 
queryCtx.getQuery_id());
     //TODO (IMPALA-8788): should load table write ids in transaction context.
     StmtTableCache stmtTableCache = metadataLoader.loadTables(stmt);
 
diff --git 
a/fe/src/test/java/org/apache/impala/analysis/StmtMetadataLoaderTest.java 
b/fe/src/test/java/org/apache/impala/analysis/StmtMetadataLoaderTest.java
index 87902495f..ca076eb37 100644
--- a/fe/src/test/java/org/apache/impala/analysis/StmtMetadataLoaderTest.java
+++ b/fe/src/test/java/org/apache/impala/analysis/StmtMetadataLoaderTest.java
@@ -251,7 +251,7 @@ public class StmtMetadataLoaderTest {
     EventSequence timeline = new EventSequence("Test Timeline");
     User user = new User("user");
     StmtMetadataLoader mdLoader =
-        new StmtMetadataLoader(fe, Catalog.DEFAULT_DB, timeline, user);
+        new StmtMetadataLoader(fe, Catalog.DEFAULT_DB, timeline, user, null);
     LocalDb db = new LocalDb(catalog, "default");
     mdLoader.collectPolicyTables(new FailedLoadLocalTable(
         db, "tbl", TImpalaTableType.TABLE, "comment",
diff --git a/fe/src/test/java/org/apache/impala/common/FrontendFixture.java 
b/fe/src/test/java/org/apache/impala/common/FrontendFixture.java
index 17e9d6665..7daba7ad7 100644
--- a/fe/src/test/java/org/apache/impala/common/FrontendFixture.java
+++ b/fe/src/test/java/org/apache/impala/common/FrontendFixture.java
@@ -363,8 +363,8 @@ public class FrontendFixture {
       throws ImpalaException {
     StatementBase parsedStmt = Parser.parse(stmt, ctx.getQueryOptions());
     User user = new 
User(TSessionStateUtil.getEffectiveUser(ctx.getQueryCtx().session));
-    StmtMetadataLoader mdLoader =
-        new StmtMetadataLoader(frontend_, ctx.getQueryCtx().session.database, 
null, user);
+    StmtMetadataLoader mdLoader = new StmtMetadataLoader(
+        frontend_, ctx.getQueryCtx().session.database, null, user, null);
     StmtTableCache stmtTableCache = mdLoader.loadTables(parsedStmt);
     return ctx.analyzeAndAuthorize(parsedStmt, stmtTableCache,
         frontend_.getAuthzChecker());
diff --git a/fe/src/test/java/org/apache/impala/common/FrontendTestBase.java 
b/fe/src/test/java/org/apache/impala/common/FrontendTestBase.java
index f549c61f9..9983fc644 100644
--- a/fe/src/test/java/org/apache/impala/common/FrontendTestBase.java
+++ b/fe/src/test/java/org/apache/impala/common/FrontendTestBase.java
@@ -337,8 +337,8 @@ public class FrontendTestBase extends AbstractFrontendTest {
       ctx.getQueryCtx().getClient_request().setStmt(stmt);
       StatementBase parsedStmt = Parser.parse(stmt, ctx.getQueryOptions());
       User user = new 
User(TSessionStateUtil.getEffectiveUser(ctx.getQueryCtx().session));
-      StmtMetadataLoader mdLoader =
-          new StmtMetadataLoader(fe, ctx.getQueryCtx().session.database, null, 
user);
+      StmtMetadataLoader mdLoader = new StmtMetadataLoader(
+          fe, ctx.getQueryCtx().session.database, null, user, null);
       StmtTableCache stmtTableCache = mdLoader.loadTables(parsedStmt);
       return ctx.analyzeAndAuthorize(parsedStmt, stmtTableCache, 
fe.getAuthzChecker());
     }
diff --git 
a/fe/src/test/java/org/apache/impala/testutil/ImpaladTestCatalog.java 
b/fe/src/test/java/org/apache/impala/testutil/ImpaladTestCatalog.java
index 57c882ff7..6a58965c4 100644
--- a/fe/src/test/java/org/apache/impala/testutil/ImpaladTestCatalog.java
+++ b/fe/src/test/java/org/apache/impala/testutil/ImpaladTestCatalog.java
@@ -33,6 +33,7 @@ import org.apache.impala.catalog.Role;
 import org.apache.impala.catalog.Table;
 import org.apache.impala.catalog.User;
 import org.apache.impala.thrift.TPrivilege;
+import org.apache.impala.thrift.TUniqueId;
 import org.apache.impala.util.PatternMatcher;
 
 import java.util.HashSet;
@@ -143,7 +144,7 @@ public class ImpaladTestCatalog extends ImpaladCatalog {
    * this catalog from this thread without involving the catalogd/statestored.
    */
   @Override
-  public void prioritizeLoad(Set<TableName> tableNames) {
+  public void prioritizeLoad(Set<TableName> tableNames, TUniqueId queryId) {
     for (TableName tbl: tableNames) getOrLoadTable(tbl.getDb(), tbl.getTbl());
   }
 

Reply via email to