This is an automated email from the ASF dual-hosted git repository.
michaelsmith pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/impala.git
The following commit(s) were added to refs/heads/master by this push:
new 134c28d44 IMPALA-13788: [DOCS] Docs for query options
SYNC_HMS_EVENTS_WAIT_TIME_S and SYNC_HMS_EVENTS_STRICT_MODE
134c28d44 is described below
commit 134c28d4451d648232e24789ac15e5ff9113ed75
Author: m-sanjana19 <[email protected]>
AuthorDate: Fri Oct 24 15:56:24 2025 +0530
IMPALA-13788: [DOCS] Docs for query options SYNC_HMS_EVENTS_WAIT_TIME_S
and SYNC_HMS_EVENTS_STRICT_MODE
The commit documents query options SYNC_HMS_EVENTS_WAIT_TIME_S
and SYNC_HMS_EVENTS_STRICT_MODE
Url: https://impala.apache.org/docs/build/html/topics/impala_set.html
Change-Id: Ia11663c5e84794d4bca658124cde59bf97aa7158
Reviewed-on: http://gerrit.cloudera.org:8080/23592
Tested-by: Impala Public Jenkins <[email protected]>
Reviewed-by: Quanlong Huang <[email protected]>
Reviewed-by: Jason Fehr <[email protected]>
---
docs/impala.ditamap | 2 +
docs/topics/impala_sync_hms_events_strict_mode.xml | 73 ++++++++++++++++++++
docs/topics/impala_sync_hms_events_wait_time_s.xml | 79 ++++++++++++++++++++++
3 files changed, 154 insertions(+)
diff --git a/docs/impala.ditamap b/docs/impala.ditamap
index 466bb8f86..8a0f96292 100644
--- a/docs/impala.ditamap
+++ b/docs/impala.ditamap
@@ -265,6 +265,8 @@ under the License.
<topicref href="topics/impala_spool_query_results.xml"/>
<topicref href="topics/impala_support_start_over.xml"/>
<topicref href="topics/impala_sync_ddl.xml"/>
+ <topicref href="topics/impala_sync_hms_events_strict_mode.xml"/>
+ <topicref href="topics/impala_sync_hms_events_wait_time_s.xml"/>
<topicref href="topics/impala_thread_reservation_aggregate_limit.xml"/>
<topicref href="topics/impala_thread_reservation_limit.xml"/>
<topicref href="topics/impala_timezone.xml"/>
diff --git a/docs/topics/impala_sync_hms_events_strict_mode.xml
b/docs/topics/impala_sync_hms_events_strict_mode.xml
new file mode 100644
index 000000000..45edb6da0
--- /dev/null
+++ b/docs/topics/impala_sync_hms_events_strict_mode.xml
@@ -0,0 +1,73 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements. See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership. The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied. See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+<!DOCTYPE concept PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept rev="5.0.0" id="impala_sync_hms_events_strict_mode">
+ <title>SYNC_HMS_EVENTS_STRICT_MODE Query Option</title>
+ <titlealts audience="PDF"><navtitle>SYNC HMS EVENTS STRICT
MODE</navtitle></titlealts>
+ <prolog>
+ <metadata>
+ <data name="Category" value="Impala"/>
+ <data name="Category" value="Impala Query Options"/>
+ <data name="Category" value="DDL"/>
+ <data name="Category" value="SQL"/>
+ <data name="Category" value="Developers"/>
+ <data name="Category" value="Data Analysts"/>
+ </metadata>
+ </prolog>
+ <conbody>
+ <p id="IMPALA-12152"><indexterm
audience="hidden">SYNC_HMS_EVENTS_STRICT_MODE query
+ option</indexterm>This query option controls the behavior of the query
coordinator if it
+ cannot successfully sync with the latest HMS events (e.g., if the
waiting time set by
+ <codeph>SYNC_HMS_EVENTS_WAIT_TIME_S</codeph> is reached, or the event
processor is in an
+ error state).</p>
+ <p conref="../shared/impala_common.xml#common/type_boolean"/>
+ <p conref="../shared/impala_common.xml#common/default_false_0"/>
+ <p><b>Query Range:</b>
+ <codeph>True</codeph> or <codeph>False</codeph></p>
+ <p conref="../shared/impala_common.xml#common/usage_notes_blurb"/>
+ <p>This option determines whether Impala favors consistency (failing the
query) or availability
+ (starting the query planning despite potential lag).<ul
id="ul_jpg_3qs_bhc">
+ <li><codeph>True</codeph> (Strict Mode): If Catalog service cannot
sync the metadata with
+ the latest HMS event ID before the timeout is reached, the
coordinator fails the query
+ with an error. This prioritizes correctness and metadata
consistency.<p>If the coordinator
+ fails the query when <codeph>SYNC_HMS_EVENTS_STRICT_MODE</codeph>
is set to
+ <codeph>TRUE</codeph> (Strict Mode), you will see an error
message starting with
+ <msgph>Failed to sync events from Metastore:</msgph> and then
the specific reason,
+ such as <msgph>HMS event processing is disabled</msgph>.</p></li>
+ <li><codeph>False</codeph> (Non-Strict Mode - Default): If the waiting
times out, the
+ coordinator starts planning the query immediately but issues a
warning message in the
+ query profile. This prioritizes availability, allowing the query to
run, but risks working
+ with slightly stale metadata.</li>
+ </ul></p>
+ <note id="note_fhz_rqs_bhc">This option is only relevant if
+ <codeph>SYNC_HMS_EVENTS_WAIT_TIME_S</codeph> is set to a value greater
than 0.</note>
+ <p><b>Example</b></p>
+ <p>The following example shows how to set
<codeph>SYNC_HMS_EVENTS_STRICT_MODE</codeph> to
+ <codeph>TRUE</codeph> for a specific query to enforce
+ consistency:<codeblock id="codeblock_fnm_hsp_fhc">SET
SYNC_HMS_EVENTS_STRICT_MODE=TRUE;
+SELECT COUNT(*) FROM functional.alltypes;</codeblock></p>
+ <p><b>Added in:</b>
+ <keyword keyref="impala50_full"/></p>
+ <p conref="../shared/impala_common.xml#common/related_info"/>
+ <p>
+ <xref href="impala_ddl.xml#ddl"/>
+ </p>
+ </conbody>
+</concept>
diff --git a/docs/topics/impala_sync_hms_events_wait_time_s.xml
b/docs/topics/impala_sync_hms_events_wait_time_s.xml
new file mode 100644
index 000000000..3a30d3e8e
--- /dev/null
+++ b/docs/topics/impala_sync_hms_events_wait_time_s.xml
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements. See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership. The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied. See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+<!DOCTYPE concept PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept rev="5.0.0" id="impala_sync_hms_events_wait_time_s">
+ <title>SYNC_HMS_EVENTS_WAIT_TIME_S Query Option</title>
+ <titlealts audience="PDF"><navtitle>SYNC HMS EVENTS WAIT TIME
S</navtitle></titlealts>
+ <prolog>
+ <metadata>
+ <data name="Category" value="Impala"/>
+ <data name="Category" value="Impala Query Options"/>
+ <data name="Category" value="DDL"/>
+ <data name="Category" value="SQL"/>
+ <data name="Category" value="Developers"/>
+ <data name="Category" value="Data Analysts"/>
+ </metadata>
+ </prolog>
+ <conbody>
+ <p id="IMPALA-12152"><indexterm
audience="hidden">SYNC_HMS_EVENTS_WAIT_TIME_S query option</indexterm>This query
+ option controls the maximum time Impala will wait for the Catalog
Service to sync with the
+ latest events from the Hive Metastore (HMS) before starting query
planning.</p>
+ <p conref="../shared/impala_common.xml#common/type_integer"/>
+ <p conref="../shared/impala_common.xml#common/default_false_0"/>
+ <p><b>Query Range:</b> > = 0</p>
+ <p conref="../shared/impala_common.xml#common/usage_notes_blurb"/>
+ <p>Setting this option to a positive value (in seconds) enables a new
mechanism where only the
+ planning thread of that query will pause and wait for the Catalog
service's event processor to
+ fully apply any outstanding metadata changes from the HMS before the
query is analyzed and
+ planned.<note id="note_sxq_srs_bhc">This mechanism only guarantees
that HMS modifications
+ that occurred before query planning started will be synced by the
Catalog service. Any HMS
+ modifications that happen after the query begins its planning phase
are not guaranteed to be
+ applied.</note><ul id="ul_bh2_vrs_bhc">
+ <li>This is typically used after an external process (like Hive or
Spark) has modified a
+ dependent table, ensuring Impala's query sees the most current
metadata, such as newly
+ added partitions.</li>
+ <li>The default value of 0 disables this waiting mechanism.</li>
+ <li>The wait time could be set based on the maximum observed event
processing lag in your
+ cluster (visible via the Catalogd WebUI /events page).</li>
+ </ul></p>
+ <p><b>Example:</b></p>
+ <p>When a Hive table is updated by an <codeph>INSERT</codeph> operation on
dynamic partitions,
+ you can use the <codeph>sync_hms_events_wait_time_s</codeph> query
option in Impala to ensure
+ the metadata is synchronized before you query the table.</p>
+ <p>Impala waits up to the specified time
(<codeph>sync_hms_events_wait_time_s</codeph>) for Hive
+ Metastore Service (HMS) events to synchronize automatically.</p>
+ <p>The following example demonstrates setting the option to safely query a
Hive table immediately after it is updated. In this case, Impala waits up to
300 seconds for the synchronization to complete.</p>
+ <codeblock>hive> insert into tbl partition(p) select * from tbl2;
+impala> set sync_hms_events_wait_time_s=300;
+impala> select * from tbl;</codeblock>
+ <p>
+ <note id="note_q4b_dqz_ghc" type="note">You do not need to run a
<codeph>REFRESH</codeph>
+ command or wait explicitly on the client side.</note>
+ </p>
+ <p>
+ <b>Added in:</b>
+ <keyword keyref="impala50_full"/>
+ </p>
+ <p conref="../shared/impala_common.xml#common/related_info"/>
+ <p>
+ <xref href="impala_ddl.xml#ddl"/>
+ </p>
+ </conbody>
+</concept>