skywalker0618 opened a new issue, #19319:
URL: https://github.com/apache/hudi/issues/19319

   ### Bug Description
   
   **What happened:**
   
   Building hudi-flink-bundle with a flink-bundle-shade-hive* profile (so that 
a Flink streaming job can register/update tables in the Hive Metastore 
natively, without an external sync step) produces a bundle that fails at 
runtime the moment HiveSyncTool actually talks to HMS. The 
flink-bundle-shade-hive profiles bring hive-exec (and other related libraries) 
into the bundle, but they don't account for two things: (1) hive-exec does not 
embed its ANTLR runtime, and (2) hive-exec is itself an uber-jar that embeds 
many transitive dependencies un-relocated, which then shadow the versions 
Hudi/Flink rely on. Concretely:
   
   1. Missing ANTLR runtime → NoClassDefFoundError. hive-exec is a shaded 
uber-jar but does not embed its ANTLR dependencies (unzip -l hive-exec-*.jar | 
grep org/antlr is empty). At sync time, 
org.apache.hadoop.hive.ql.Driver.compile() loads 
org.antlr.runtime.tree.CommonTree to parse DDL, and Hive's ParseDriver uses ST4 
/ antlr4-runtime for template emission. Without those artifacts in the bundle:
   
   java.lang.NoClassDefFoundError: org/antlr/runtime/tree/CommonTree
       at org.apache.hadoop.hive.ql.Driver.compile(...)
       at ... HiveQueryDDLExecutor.updateHiveSQLs(...)
   
   2. hive-exec's embedded, un-relocated deps shadow the versions Hudi/Flink 
need. hive-exec bundles old copies of Guava, protobuf, Avro, Commons Lang 2/3, 
Thrift, ORC, JSON.org, Airlift compress, Parquet format internals, Jackson 1.x 
(codehaus), fb303, snappy, etc., all at their original package names. Under 
Flink child-first user classloading these win over the correct versions and 
break Hudi. Observed failures include:
   
   (1) Avro: hive-exec ships Avro 1.7.7 at org.apache.avro.*, which lacks 
LogicalType. It shadows the Avro 1.8+ that Hudi-Flink targets → 
NoClassDefFoundError: org/apache/avro/LogicalType (and related 
GenericData.Conversion failures).
   (2) Guava: Guava 14's com.google.common.base.Optional shadows Guava 24 → 
NoSuchMethodError: Optional.toJavaUtil().
   (3) protobuf: protobuf-java 2.5.0's com.google.protobuf.LazyStringArrayList 
lacks the static emptyList() factory added in 3.22.0 → NoSuchMethodError from 
generated code's <init>.
   
   3. Parquet format.converter conflict → NoSuchMethodError. hive-exec embeds 
parquet-format-structures classes (FileMetaData, ColumnChunk, Statistics, …) 
that collide with the parquet-format-structures pulled in transitively. But 
org.apache.parquet.format.converter.** is actually provided by parquet-hadoop 
and is part of the API surface used alongside org.apache.parquet.hadoop.*. 
Relocating the format package wholesale (converter included) while leaving 
ParquetFileReader un-relocated creates a signature mismatch:
   
   java.lang.NoSuchMethodError: 
org.apache.parquet.hadoop.ParquetFileReader.readFooter(
       Configuration, Path, ParquetMetadataConverter$MetadataFilter)
       at ... TableSchemaResolver.readSchemaFromParquetBaseFile(...)  // during 
Hive sync
   
   Net effect: with the current flink-bundle-shade-hive profiles you cannot run 
Flink-native Hive sync against a real HMS: every commit cycle that reaches 
DDL/schema comparison throws one of the above.
   
   Environment:
   
   Hudi: 0.14.x
   Flink: 1.17 / 1.18
   Hive: 2.3.x (hive-exec, hive-metastore, hive-common)
   Bundle: hudi-flink-bundle built with a flink-bundle-shade-hive* profile
   Classloading: Flink child-first (default)
   
   **What you expected:**
   
   <p class="ui-markdown__paragraph ui-1mdx765 ui-uu7i3w ui-8kmwxx ui-j7cesy 
ui-13faqbe ui-14l7nz5 ui-zboxd6" style="--tw-space-y-reverse: 0; margin-block: 
0px 16px; word-break: break-word; margin-bottom: 6px; margin-top: 6px; color: 
rgb(240, 240, 240); font-family: -apple-system, &quot;system-ui&quot;, 
sans-serif; font-size: 13px; font-style: normal; font-variant-ligatures: 
normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; 
orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 
2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; 
background-color: rgb(24, 24, 24); text-decoration-thickness: initial; 
text-decoration-style: initial; text-decoration-color: initial;">The<span> 
</span><code class="ui-markdown__inline-code ui-rtu7ee ui-1i9v5mb ui-1hhlpkd 
ui-6lrnw6 ui-115g5cq ui-odjx36 ui-1wd3ewq ui-hayvgc ui-eb7xqv ui-37zpob 
ui-1lldw8n ui-1mzt3pk" style="border-radius: 5px; background-color: color(srgb 
0.941176 0.941
 176 0.941176 / 0.08); color: rgb(240, 240, 240); font-family: Menlo, Monaco, 
&quot;Courier New&quot;, monospace; font-size: 0.9em; line-height: 1.4; 
overflow-wrap: break-word; word-break: normal; padding: 1.5px 
2px;">flink-bundle-shade-hive</code><span> </span>profiles should produce a 
bundle that can perform Hive sync out of the box. That requires (a) adding the 
ANTLR runtime, (b) relocating<span> </span><code 
class="ui-markdown__inline-code ui-rtu7ee ui-1i9v5mb ui-1hhlpkd ui-6lrnw6 
ui-115g5cq ui-odjx36 ui-1wd3ewq ui-hayvgc ui-eb7xqv ui-37zpob ui-1lldw8n 
ui-1mzt3pk" style="border-radius: 5px; background-color: color(srgb 0.941176 
0.941176 0.941176 / 0.08); color: rgb(240, 240, 240); font-family: Menlo, 
Monaco, &quot;Courier New&quot;, monospace; font-size: 0.9em; line-height: 1.4; 
overflow-wrap: break-word; word-break: normal; padding: 1.5px 
2px;">hive-exec</code>'s embedded transitive deps so they don't shadow the 
correct versions, and (c) stripping<span> </span><code class="ui
 -markdown__inline-code ui-rtu7ee ui-1i9v5mb ui-1hhlpkd ui-6lrnw6 ui-115g5cq 
ui-odjx36 ui-1wd3ewq ui-hayvgc ui-eb7xqv ui-37zpob ui-1lldw8n ui-1mzt3pk" 
style="border-radius: 5px; background-color: color(srgb 0.941176 0.941176 
0.941176 / 0.08); color: rgb(240, 240, 240); font-family: Menlo, Monaco, 
&quot;Courier New&quot;, monospace; font-size: 0.9em; line-height: 1.4; 
overflow-wrap: break-word; word-break: normal; padding: 1.5px 
2px;">hive-exec</code>'s stale Avro so Hudi resolves the modern Avro provided 
by Flink.</p><p class="ui-markdown__paragraph ui-1mdx765 ui-uu7i3w ui-8kmwxx 
ui-j7cesy ui-13faqbe ui-14l7nz5 ui-zboxd6" style="--tw-space-y-reverse: 0; 
margin-block: 0px 16px; word-break: break-word; margin-bottom: 6px; margin-top: 
6px; color: rgb(240, 240, 240); font-family: -apple-system, 
&quot;system-ui&quot;, sans-serif; font-size: 13px; font-style: normal; 
font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; 
letter-spacing: normal; orphans: 2; text-align:
  start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; 
-webkit-text-stroke-width: 0px; white-space: normal; background-color: rgb(24, 
24, 24); text-decoration-thickness: initial; text-decoration-style: initial; 
text-decoration-color: initial;"><span class="font-semibold" 
data-streamdown="strong" style="--tw-font-weight: 600; font-weight: 600;">1. 
Add to the bundle (artifactSet includes) — ANTLR runtime:</span></p><div 
class="ui-scroll-area ui-1ekbvf6 ui-1logqu4 ui-1fx8caa ui-8ddqcf ui-1n2onr6 
ui-6ikm8r ui-10wlt62 ui-rvj5dj ui-ypqxfk ui-tr57km ui-14beivq ui-13xjzxd 
ui-178xt8z ui-13fuv20 ui-1aeic0j ui-s1s249 ui-32b0ac ui-141kqco ui-so031l 
ui-1q0q8m5 ui-17fyfba ui-e0pwq ui-19ypqd9 ui-1arpupx ui-1043rbw ui-14l7nz5 
ui-zboxd6" data-scroll-padding="4" data-visibility="hover" 
data-direction="horizontal" style="--tw-space-y-reverse: 0; margin-block: 0px 
16px; --scroll-area-scroll-padding: 4px; --scrollbar-inset: 1px; 
--scrollbar-size: 6px; --scrollbar-thumb-top-offse
 t: 6px; grid-template: 1fr / 1fr; border-radius: 6px; display: grid; position: 
relative; border-color: color(srgb 0.941176 0.941176 0.941176 / 0.08); 
border-style: solid; border-width: 1px; margin-bottom: 1em; margin-top: 1em; 
overflow: hidden; color: rgb(240, 240, 240); font-family: -apple-system, 
&quot;system-ui&quot;, sans-serif; font-size: 13px; font-style: normal; 
font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; 
letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; 
text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 
0px; white-space: normal; background-color: rgb(24, 24, 24); 
text-decoration-thickness: initial; text-decoration-style: initial; 
text-decoration-color: initial;"><div class="ui-scroll-area__viewport 
ui-175mniq ui-2lwn1j ui-mz0i5r ui-1pjcqnp ui-1rohswg ui-6ehuon ui-fk6m8 
ui-w2csxc ui-10wlt62 ui-k8sdt9 ui-1duton ui-101ixbw ui-exgr1p ui-7p5m3t 
ui-y5w88m" style="grid-area: 1 / 1; border-radius: in
 herit; scrollbar-width: none; max-height: 100%; min-height: 0px; overflow: 
auto hidden; overscroll-behavior: contain auto; scroll-padding: 0px 4px;"><div 
class="ui-scroll-area__content ui-9f619 ui-gqtt45 ui-193iq5w ui-1us19tq 
ui-78zum5 ui-14atkfc ui-g7h5cd ui-1q0g3np" style="box-sizing: border-box; 
display: flex; flex-direction: row; height: fit-content; max-width: 100%; 
min-height: 100%; min-width: 100%; width: auto;">
   Artifact | Why
   -- | --
   org.antlr:antlr-runtime | Driver.compile() needs 
org.antlr.runtime.tree.CommonTree
   org.antlr:ST4 | Hive ParseDriver template emission
   org.antlr:antlr4-runtime | pulled in by hive-exec POM, used by ParseDriver
   
   </div></div></div><p class="ui-markdown__paragraph ui-1mdx765 ui-uu7i3w 
ui-8kmwxx ui-j7cesy ui-13faqbe ui-14l7nz5 ui-zboxd6" 
style="--tw-space-y-reverse: 0; margin-block: 0px 16px; word-break: break-word; 
margin-bottom: 6px; margin-top: 6px; color: rgb(240, 240, 240); font-family: 
-apple-system, &quot;system-ui&quot;, sans-serif; font-size: 13px; font-style: 
normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 
400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; 
text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 
0px; white-space: normal; background-color: rgb(24, 24, 24); 
text-decoration-thickness: initial; text-decoration-style: initial; 
text-decoration-color: initial;"><span class="font-semibold" 
data-streamdown="strong" style="--tw-font-weight: 600; font-weight: 600;">3. 
Exclude from relocation</span><span> </span>(critical carve-out):</p><ul 
class="ui-markdown__list ui-78zum5 ui-dt5ytf ui-pkkfsy u
 i-1mdx765 ui-8kmwxx ui-j7cesy ui-1bae07f" style="--tw-space-y-reverse: 0; 
margin-block: 0px 16px; gap: 6px; display: flex; flex-direction: column; 
margin-bottom: 6px; margin-top: 6px; padding-left: 2em; color: rgb(240, 240, 
240); font-family: -apple-system, &quot;system-ui&quot;, sans-serif; font-size: 
13px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: 
normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: 
start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; 
-webkit-text-stroke-width: 0px; white-space: normal; background-color: rgb(24, 
24, 24); text-decoration-thickness: initial; text-decoration-style: initial; 
text-decoration-color: initial;"><li class="ui-markdown__list-item 
ui--default-marker ui-exx8yu ui-1xpa7k ui-18d9i69 ui-1uhho1l ui-13faqbe 
ui-ez2fb" data-md-list-item="" style="word-break: break-word; padding: 
0px;"><code class="ui-markdown__inline-code ui-rtu7ee ui-1i9v5mb ui-1hhlpkd 
ui-6lrnw6 ui-115g5cq ui
 -odjx36 ui-1wd3ewq ui-hayvgc ui-eb7xqv ui-37zpob ui-1lldw8n ui-1mzt3pk" 
style="border-radius: 5px; background-color: color(srgb 0.941176 0.941176 
0.941176 / 0.08); color: rgb(240, 240, 240); font-family: Menlo, Monaco, 
&quot;Courier New&quot;, monospace; font-size: 0.9em; line-height: 1.4; 
overflow-wrap: break-word; word-break: normal; padding: 1.5px 
2px;">org.apache.parquet.format.converter.**</code><span> </span>— leave 
un-relocated. It's provided by<span> </span><code 
class="ui-markdown__inline-code ui-rtu7ee ui-1i9v5mb ui-1hhlpkd ui-6lrnw6 
ui-115g5cq ui-odjx36 ui-1wd3ewq ui-hayvgc ui-eb7xqv ui-37zpob ui-1lldw8n 
ui-1mzt3pk" style="border-radius: 5px; background-color: color(srgb 0.941176 
0.941176 0.941176 / 0.08); color: rgb(240, 240, 240); font-family: Menlo, 
Monaco, &quot;Courier New&quot;, monospace; font-size: 0.9em; line-height: 1.4; 
overflow-wrap: break-word; word-break: normal; padding: 1.5px 
2px;">parquet-hadoop</code>, not<span> </span><code class="ui-markdown__inli
 ne-code ui-rtu7ee ui-1i9v5mb ui-1hhlpkd ui-6lrnw6 ui-115g5cq ui-odjx36 
ui-1wd3ewq ui-hayvgc ui-eb7xqv ui-37zpob ui-1lldw8n ui-1mzt3pk" 
style="border-radius: 5px; background-color: color(srgb 0.941176 0.941176 
0.941176 / 0.08); color: rgb(240, 240, 240); font-family: Menlo, Monaco, 
&quot;Courier New&quot;, monospace; font-size: 0.9em; line-height: 1.4; 
overflow-wrap: break-word; word-break: normal; padding: 1.5px 
2px;">parquet-format-structures</code>, and is used together with the 
un-relocated<span> </span><code class="ui-markdown__inline-code ui-rtu7ee 
ui-1i9v5mb ui-1hhlpkd ui-6lrnw6 ui-115g5cq ui-odjx36 ui-1wd3ewq ui-hayvgc 
ui-eb7xqv ui-37zpob ui-1lldw8n ui-1mzt3pk" style="border-radius: 5px; 
background-color: color(srgb 0.941176 0.941176 0.941176 / 0.08); color: 
rgb(240, 240, 240); font-family: Menlo, Monaco, &quot;Courier New&quot;, 
monospace; font-size: 0.9em; line-height: 1.4; overflow-wrap: break-word; 
word-break: normal; padding: 1.5px 2px;">org.apache.parquet.hadoop.*</cod
 e><span> </span>API (<code class="ui-markdown__inline-code ui-rtu7ee 
ui-1i9v5mb ui-1hhlpkd ui-6lrnw6 ui-115g5cq ui-odjx36 ui-1wd3ewq ui-hayvgc 
ui-eb7xqv ui-37zpob ui-1lldw8n ui-1mzt3pk" style="border-radius: 5px; 
background-color: color(srgb 0.941176 0.941176 0.941176 / 0.08); color: 
rgb(240, 240, 240); font-family: Menlo, Monaco, &quot;Courier New&quot;, 
monospace; font-size: 0.9em; line-height: 1.4; overflow-wrap: break-word; 
word-break: normal; padding: 1.5px 2px;">ParquetFileReader.readFooter(..., 
ParquetMetadataConverter.NO_FILTER)</code>). Relocating it breaks the method 
signature.</li></ul><p class="ui-markdown__paragraph ui-1mdx765 ui-uu7i3w 
ui-8kmwxx ui-j7cesy ui-13faqbe ui-14l7nz5 ui-zboxd6" 
style="--tw-space-y-reverse: 0; margin-block: 0px 16px; word-break: break-word; 
margin-bottom: 6px; margin-top: 6px; color: rgb(240, 240, 240); font-family: 
-apple-system, &quot;system-ui&quot;, sans-serif; font-size: 13px; font-style: 
normal; font-variant-ligatures: normal; font-vari
 ant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; 
text-align: start; text-indent: 0px; text-transform: none; widows: 2; 
word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; 
background-color: rgb(24, 24, 24); text-decoration-thickness: initial; 
text-decoration-style: initial; text-decoration-color: initial;"><span 
class="font-semibold" data-streamdown="strong" style="--tw-font-weight: 600; 
font-weight: 600;">4. Filter out (strip) from the bundle:</span></p><ul 
class="ui-markdown__list ui-78zum5 ui-dt5ytf ui-pkkfsy ui-1mdx765 ui-8kmwxx 
ui-j7cesy ui-1bae07f" style="--tw-space-y-reverse: 0; margin-block: 0px 16px; 
gap: 6px; display: flex; flex-direction: column; margin-bottom: 6px; 
margin-top: 6px; padding-left: 2em; color: rgb(240, 240, 240); font-family: 
-apple-system, &quot;system-ui&quot;, sans-serif; font-size: 13px; font-style: 
normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 
400; letter-spacing: normal; orpha
 ns: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; 
word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; 
background-color: rgb(24, 24, 24); text-decoration-thickness: initial; 
text-decoration-style: initial; text-decoration-color: initial;"><li 
class="ui-markdown__list-item ui--default-marker ui-exx8yu ui-1xpa7k ui-18d9i69 
ui-1uhho1l ui-13faqbe ui-ez2fb" data-md-list-item="" style="word-break: 
break-word; padding: 0px;"><code class="ui-markdown__inline-code ui-rtu7ee 
ui-1i9v5mb ui-1hhlpkd ui-6lrnw6 ui-115g5cq ui-odjx36 ui-1wd3ewq ui-hayvgc 
ui-eb7xqv ui-37zpob ui-1lldw8n ui-1mzt3pk" style="border-radius: 5px; 
background-color: color(srgb 0.941176 0.941176 0.941176 / 0.08); color: 
rgb(240, 240, 240); font-family: Menlo, Monaco, &quot;Courier New&quot;, 
monospace; font-size: 0.9em; line-height: 1.4; overflow-wrap: break-word; 
word-break: normal; padding: 1.5px 2px;">org/apache/avro/**</code><span> 
</span><span class="font-semibold" data-stre
 amdown="strong" style="--tw-font-weight: 600; font-weight: 600;">from 
the<span> </span><code class="ui-markdown__inline-code ui-rtu7ee ui-1i9v5mb 
ui-1hhlpkd ui-6lrnw6 ui-115g5cq ui-odjx36 ui-1wd3ewq ui-hayvgc ui-eb7xqv 
ui-37zpob ui-1lldw8n ui-1mzt3pk" style="border-radius: 5px; background-color: 
color(srgb 0.941176 0.941176 0.941176 / 0.08); color: rgb(240, 240, 240); 
font-family: Menlo, Monaco, &quot;Courier New&quot;, monospace; font-size: 
0.9em; line-height: 1.4; overflow-wrap: break-word; word-break: normal; 
padding: 1.5px 2px;">org.apache.hive:hive-exec</code><span> </span>artifact 
only.</span><span> </span><code class="ui-markdown__inline-code ui-rtu7ee 
ui-1i9v5mb ui-1hhlpkd ui-6lrnw6 ui-115g5cq ui-odjx36 ui-1wd3ewq ui-hayvgc 
ui-eb7xqv ui-37zpob ui-1lldw8n ui-1mzt3pk" style="border-radius: 5px; 
background-color: color(srgb 0.941176 0.941176 0.941176 / 0.08); color: 
rgb(240, 240, 240); font-family: Menlo, Monaco, &quot;Courier New&quot;, 
monospace; font-size: 0.9em; line-hei
 ght: 1.4; overflow-wrap: break-word; word-break: normal; padding: 1.5px 
2px;">hive-exec</code><span> </span>ships Avro 1.7.7; stripping it leaves the 
bundle contributing zero Avro classes, so Hudi resolves<span> </span><code 
class="ui-markdown__inline-code ui-rtu7ee ui-1i9v5mb ui-1hhlpkd ui-6lrnw6 
ui-115g5cq ui-odjx36 ui-1wd3ewq ui-hayvgc ui-eb7xqv ui-37zpob ui-1lldw8n 
ui-1mzt3pk" style="border-radius: 5px; background-color: color(srgb 0.941176 
0.941176 0.941176 / 0.08); color: rgb(240, 240, 240); font-family: Menlo, 
Monaco, &quot;Courier New&quot;, monospace; font-size: 0.9em; line-height: 1.4; 
overflow-wrap: break-word; word-break: normal; padding: 1.5px 
2px;">org.apache.avro.*</code><span> </span>against the modern Avro supplied 
by<span> </span><code class="ui-markdown__inline-code ui-rtu7ee ui-1i9v5mb 
ui-1hhlpkd ui-6lrnw6 ui-115g5cq ui-odjx36 ui-1wd3ewq ui-hayvgc ui-eb7xqv 
ui-37zpob ui-1lldw8n ui-1mzt3pk" style="border-radius: 5px; background-color: 
color(srgb 0.941176 0.941
 176 0.941176 / 0.08); color: rgb(240, 240, 240); font-family: Menlo, Monaco, 
&quot;Courier New&quot;, monospace; font-size: 0.9em; line-height: 1.4; 
overflow-wrap: break-word; word-break: normal; padding: 1.5px 
2px;">flink-avro</code><span> </span>at runtime. (Note:<span> </span><code 
class="ui-markdown__inline-code ui-rtu7ee ui-1i9v5mb ui-1hhlpkd ui-6lrnw6 
ui-115g5cq ui-odjx36 ui-1wd3ewq ui-hayvgc ui-eb7xqv ui-37zpob ui-1lldw8n 
ui-1mzt3pk md-inline-path-filename-like" style="border-radius: 5px; 
background-color: color(srgb 0.941176 0.941176 0.941176 / 0.08); color: 
rgb(240, 240, 240); font-family: Menlo, Monaco, &quot;Courier New&quot;, 
monospace; font-size: 0.9em; line-height: 1.4; overflow-wrap: break-word; 
word-break: normal; padding: 1.5px 2px;"><span 
class="ui-markdown__inline-path-filename ui-1heor9g md-inline-path-filename" 
style="color: inherit;">org.apache.avro</span></code><span> </span>is 
deliberately<span> </span><span class="font-semibold" data-streamdown="strong" 
 style="--tw-font-weight: 600; font-weight: 600;">not</span><span> 
</span>relocated — relocating would rewrite Hudi's bytecode to a namespace 
populated by Hive's stale 1.7.7 classes, reintroducing the<span> </span><code 
class="ui-markdown__inline-code ui-rtu7ee ui-1i9v5mb ui-1hhlpkd ui-6lrnw6 
ui-115g5cq ui-odjx36 ui-1wd3ewq ui-hayvgc ui-eb7xqv ui-37zpob ui-1lldw8n 
ui-1mzt3pk" style="border-radius: 5px; background-color: color(srgb 0.941176 
0.941176 0.941176 / 0.08); color: rgb(240, 240, 240); font-family: Menlo, 
Monaco, &quot;Courier New&quot;, monospace; font-size: 0.9em; line-height: 1.4; 
overflow-wrap: break-word; word-break: normal; padding: 1.5px 
2px;">LogicalType</code><span> </span>failure.)</li></ul><p 
class="ui-markdown__paragraph ui-1mdx765 ui-uu7i3w ui-8kmwxx ui-j7cesy 
ui-13faqbe ui-14l7nz5 ui-zboxd6" style="--tw-space-y-reverse: 0; margin-block: 
0px 16px; word-break: break-word; margin-bottom: 6px; margin-top: 6px; color: 
rgb(240, 240, 240); font-family: -apple-syste
 m, &quot;system-ui&quot;, sans-serif; font-size: 13px; font-style: normal; 
font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; 
letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; 
text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 
0px; white-space: normal; background-color: rgb(24, 24, 24); 
text-decoration-thickness: initial; text-decoration-style: initial; 
text-decoration-color: initial;">With these changes, a Flink job can register 
and evolve Hive tables directly from the bundle, with no external sync 
process.</p>
   
   
   **Steps to reproduce:**
   
   Use hudi-flink-bundle in a flink job and turn on HMS registration
   
   
   ### Environment
   
   Hudi: 0.14.x
   Flink: 1.17 / 1.18
   Hive: 2.3.x (hive-exec, hive-metastore, hive-common)
   Bundle: hudi-flink-bundle built with a flink-bundle-shade-hive* profile
   Classloading: Flink child-first (default)
   
   ### Logs and Stack Trace
   
   _No response_


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to