[
https://issues.apache.org/jira/browse/TEZ-3892?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16397431#comment-16397431
]
Siddharth Seth commented on TEZ-3892:
-------------------------------------
One thing to keep in mind when using this is the number of Handler threads on
the AM itself - which is set to 2.
One thread is meant to handle short requests. There's another which waits
within the AM for a time / state change. If there's multiple clients connecting
at the same time - there may be some latency waiting for a server side handler
thread to become available.
Either increase the number of server side handlers, or try making sure there's
a single client connecting to the AM.
> getClient API for TezClient
> ---------------------------
>
> Key: TEZ-3892
> URL: https://issues.apache.org/jira/browse/TEZ-3892
> Project: Apache Tez
> Issue Type: New Feature
> Reporter: Eric Wohlstadter
> Assignee: Eric Wohlstadter
> Priority: Major
> Fix For: 0.9.2
>
> Attachments: TEZ-3892.1.patch, TEZ-3892.2.patch
>
>
> This is a proposed opt-in feature.
> Tez AM already supports long-lived sessions, if desired a AM session can live
> indefinitely.
> However, new clients cannot connect to a long-lived AM session through the
> standard TezClient API.
> TezClient API only provides a "start" method to initiate a connection, which
> always allocates a new AM from YARN.
> # For interactive BI use-cases, this startup time can be significant.
> # Hive is implementing a HiveServer2 High Availability feature.
> ** When the singleton HS2 master server fails, the HS2 client is quickly
> redirected to a pre-warmed HS2 backup.
> # For the failover to complete quickly end-to-end, a Tez AM must also be
> pre-warmed and ready to accept connections.
> For more information, see design for:
> https://issues.apache.org/jira/browse/HIVE-18281.
> ----
> Anticipated changes:
> # A getClient{{(ApplicationId)}} method is added to TezClient. The
> functionality is similar to {{start}}
> ** Code related to launching a new AM from the RM is factored out.
> ** Since {{start}} and getClient will share some code, this code is
> refactored into reusable helper methods.
> ** A usage example is added to {{org/apache/tez/examples}}
> # It is not a goal of this JIRA to ensure that running Tez DAGs can be
> recovered by a client using the getClient API. The goal is only for
> maintaining a pool of warm Tez AMs to skip RM/container/JVM startup.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)