[jira] [Commented] (TEZ-3892) getClient API for TezClient
[ https://issues.apache.org/jira/browse/TEZ-3892?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16414298#comment-16414298 ] Eric Wohlstadter commented on TEZ-3892: --- [~jlowe] Nothing more needed. Offline I mentioned I would give a pointer to the application use-case where this was used. I added that as an Issue Link, and referenced you in the Link Comment since we had the offline conversation. > 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)
[jira] [Commented] (TEZ-3892) getClient API for TezClient
[ https://issues.apache.org/jira/browse/TEZ-3892?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16414289#comment-16414289 ] Jason Lowe commented on TEZ-3892: - [~ewohlstadter] what more do you need for this? If anything it should be a separate JIRA, since this one is committed and resolved. > 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)
[jira] [Commented] (TEZ-3892) getClient API for TezClient
[ https://issues.apache.org/jira/browse/TEZ-3892?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16414266#comment-16414266 ] Eric Wohlstadter commented on TEZ-3892: --- [~jeagles] [~jlowe] > 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)
[jira] [Commented] (TEZ-3892) getClient API for TezClient
[ 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)
[jira] [Commented] (TEZ-3892) getClient API for TezClient
[ https://issues.apache.org/jira/browse/TEZ-3892?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16388451#comment-16388451 ] Gopal V commented on TEZ-3892: -- LGTM - +1 > 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 > 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)
[jira] [Commented] (TEZ-3892) getClient API for TezClient
[ https://issues.apache.org/jira/browse/TEZ-3892?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16388447#comment-16388447 ] Sergey Shelukhin commented on TEZ-3892: --- +1, but I'm also not a Tez committer. cc [~hagleitn] can you +1? > 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 > 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)
[jira] [Commented] (TEZ-3892) getClient API for TezClient
[ https://issues.apache.org/jira/browse/TEZ-3892?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16388367#comment-16388367 ] Prasanth Jayachandran commented on TEZ-3892: changes look good to me.. would be good to have someone for tez take another stab.. > 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 > 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)
[jira] [Commented] (TEZ-3892) getClient API for TezClient
[ https://issues.apache.org/jira/browse/TEZ-3892?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16387144#comment-16387144 ] Sergey Shelukhin commented on TEZ-3892: --- Can you post on RB? thnx > 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 > 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)
[jira] [Commented] (TEZ-3892) getClient API for TezClient
[ https://issues.apache.org/jira/browse/TEZ-3892?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16387013#comment-16387013 ] Eric Wohlstadter commented on TEZ-3892: --- [~prasanth_j] [~sershe] [~gopalv] Can someone review for HS2 HA use-case? > 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 > 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)
[jira] [Commented] (TEZ-3892) getClient API for TezClient
[ https://issues.apache.org/jira/browse/TEZ-3892?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16387003#comment-16387003 ] Eric Wohlstadter commented on TEZ-3892: --- {color:green}+1 overall{color}. Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12912690/TEZ-3892.2.patch against master revision bb40cf5. {color:green}+1 @author{color}. The patch does not contain any @author tags. {color:green}+1 tests included{color}. The patch appears to include 1 new or modified test files. {color:green}+1 javac{color}. The applied patch does not increase the total number of javac compiler warnings. {color:green}+1 javadoc{color}. There were no new javadoc warning messages. {color:green}+1 findbugs{color}. The patch does not introduce any new Findbugs (version 3.0.1) warnings. {color:green}+1 release audit{color}. The applied patch does not increase the total number of release audit warnings. {color:green}+1 core tests{color}. The patch passed unit tests in . Test results: https://builds.apache.org/job/PreCommit-TEZ-Build/2733//testReport/ Console output: https://builds.apache.org/job/PreCommit-TEZ-Build/2733//console This message is automatically generated. > 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 > 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)