[
https://issues.apache.org/jira/browse/IMPALA-12350?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17837712#comment-17837712
]
Quanlong Huang commented on IMPALA-12350:
-----------------------------------------
[~saulius.vl] Thanks for reporting this! There seems to be several issues.
The size of a catalog topic message (topic delta) will have a limit (configured
by thrift_rpc_max_message_size) after upgrading to thrift-0.16 since
Impala-4.2. When transfering the whole catalog topic to a newly added/restarted
coordinator, the topic message size could hit the limit.
{quote}Interestingly the catalog topic increased significantly after upgrading
from 3.4.0 to 4.2.0 - from ~800mb to ~3.4gb.
{quote}
In 4.2.0, catalogd sends catalog updates in partition level
(enable_incremental_metadata_updates=true). In 3.4.0, it sends them in table
level. So there are more topic entrics in 4.2.0. On the other hand. the
compression rate of catalog objects will be smaller in 4.2.0 since compressing
the whole table save more space than compressing partitions individually. We
recommend switching from the legacy catalog mode to the local catalog mode so
catalog objects sent to the catalog topics will be pretty small, which will
solve this issue.
To turn on local catalog mode, set use_local_catalog=true on all coordinators
and set catalog_topic_mode=minimal on catalogd.
Sorry for the late reply. Any feedbacks will be appreciated!
> Daemon fails to initialize large catalog
> ----------------------------------------
>
> Key: IMPALA-12350
> URL: https://issues.apache.org/jira/browse/IMPALA-12350
> Project: IMPALA
> Issue Type: Bug
> Affects Versions: Impala 4.2.0
> Reporter: Saulius Valatka
> Priority: Major
>
> When the statestored catalog topic is large enough (>2gb) daemons fail to
> restart and get stuck in a loop:
> {{I0808 13:07:17.702653 3633556 Frontend.java:1618] Waiting for local catalog
> to be initialized, attempt: 2068}}
>
> The statestored reports errors as follows:
> {{I0808 13:07:05.587296 2134270 thrift-util.cc:196] TSocket::write_partial()
> send() <Host: gs1-hdp-data70 Port: 23000>: Broken pipe}}
> {{I0808 13:07:05.587356 2134270 client-cache.h:362] RPC Error: Client for
> gs1-hdp-data70:23000 hit an unexpected exception: write() send(): Broken
> pipe, type: N6apache6thrift9transport19TTransportExceptionE, rpc:
> N6impala20TUpdateStateResponseE, send: not done}}
> {{I0808 13:07:05.587365 2134270 client-cache.cc:174] Broken Connection,
> destroy client for gs1-hdp-data70:23000}}
>
> If this happens we are forced to restart statestore and thus the whole
> cluster, meaning that we can't tolerate failure from even a single daemon.
> Interestingly the catalog topic increased significantly after upgrading from
> 3.4.0 to 4.2.0 - from ~800mb to ~3.4gb. Invalidate/refresh operations also
> became significantly slower (~10ms -> 5s).
> Probably related to thrift_rpc_max_message_size? but I see the maximum value
> is 2gb.
>
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]