[ https://issues.apache.org/jira/browse/YARN-11290?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17601410#comment-17601410 ]
ASF GitHub Bot commented on YARN-11290: --------------------------------------- goiri commented on code in PR #4846: URL: https://github.com/apache/hadoop/pull/4846#discussion_r965083185 ########## hadoop-yarn-project/hadoop-yarn/bin/FederationStateStore/SQLServer/FederationStateStoreStoreProcs.sql: ########## @@ -111,12 +111,27 @@ IF OBJECT_ID ( '[sp_getApplicationsHomeSubCluster]', 'P' ) IS NOT NULL GO CREATE PROCEDURE [dbo].[sp_getApplicationsHomeSubCluster] + @limit int, + @homeSubCluster VARCHAR(256) AS BEGIN DECLARE @errorMessage nvarchar(4000) BEGIN TRY - SELECT [applicationId], [homeSubCluster], [createTime] - FROM [dbo].[applicationsHomeSubCluster] + SELECT + [applicationId], + [homeSubCluster], + [createTime] + FROM + (SELECT + [applicationId], + [homeSubCluster], + [createTime], + row_number() over(partition by [homeSubCluster] order by [createTime] desc) as row_num Review Comment: We are getting the top N newest reservations right? ########## hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/federation/store/impl/MemoryFederationStateStore.java: ########## @@ -255,17 +261,45 @@ public GetApplicationHomeSubClusterResponse getApplicationHomeSubCluster( @Override public GetApplicationsHomeSubClusterResponse getApplicationsHomeSubCluster( GetApplicationsHomeSubClusterRequest request) throws YarnException { - List<ApplicationHomeSubCluster> result = - new ArrayList<ApplicationHomeSubCluster>(); - for (Entry<ApplicationId, SubClusterId> e : applications.entrySet()) { - result - .add(ApplicationHomeSubCluster.newInstance(e.getKey(), e.getValue())); + + if (request == null) { + throw new YarnException("Missing getApplicationsHomeSubCluster request"); } - GetApplicationsHomeSubClusterResponse.newInstance(result); + SubClusterId requestSC = request.getSubClusterId(); + List<ApplicationHomeSubCluster> result = applications.keySet().stream() Review Comment: Do we have any order here? ########## hadoop-yarn-project/hadoop-yarn/bin/FederationStateStore/MySQL/FederationStateStoreStoredProcs.sql: ########## @@ -122,10 +122,17 @@ BEGIN WHERE applicationId = applicationID_IN; END // -CREATE PROCEDURE sp_getApplicationsHomeSubCluster() -BEGIN - SELECT applicationId, homeSubCluster - FROM applicationsHomeSubCluster; +CREATE PROCEDURE sp_getApplicationsHomeSubCluster(IN limit_IN int, IN homeSubCluster_IN varchar(256)) +BEGIN + SET @row_num = 0; + SELECT + applicationId, homeSubCluster + FROM (SELECT + applicationId, homeSubCluster, (@rownum := @rownum + 1) AS row_num + FROM applicationsHomeSubCluster) AS t + WHERE row_num <= limit_IN Review Comment: Given that we don't order, aren't we getting random apps? ########## hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/federation/store/impl/ZookeeperFederationStateStore.java: ########## @@ -255,24 +261,53 @@ public GetApplicationHomeSubClusterResponse getApplicationHomeSubCluster( @Override public GetApplicationsHomeSubClusterResponse getApplicationsHomeSubCluster( GetApplicationsHomeSubClusterRequest request) throws YarnException { - long start = clock.getTime(); - List<ApplicationHomeSubCluster> result = new ArrayList<>(); + + if (request == null) { + throw new YarnException("Missing getApplicationsHomeSubCluster request"); + } try { - for (String child : zkManager.getChildren(appsZNode)) { - ApplicationId appId = ApplicationId.fromString(child); - SubClusterId homeSubCluster = getApp(appId); - ApplicationHomeSubCluster app = - ApplicationHomeSubCluster.newInstance(appId, homeSubCluster); - result.add(app); - } + long start = clock.getTime(); + SubClusterId requestSC = request.getSubClusterId(); + List<String> children = zkManager.getChildren(appsZNode); + List<ApplicationHomeSubCluster> result = Review Comment: Order? ########## hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/resources/yarn-default.xml: ########## @@ -4963,4 +4963,14 @@ </description> </property> + <property> + <name>yarn.federation.state-store.max-applications</name> + <value>1000</value> + <description> + yarn federation state-store supports Review Comment: Fix the capitalization while making it one line and add periods at the end. > Improve Query Condition of FederationStateStore#getApplicationsHomeSubCluster > ----------------------------------------------------------------------------- > > Key: YARN-11290 > URL: https://issues.apache.org/jira/browse/YARN-11290 > Project: Hadoop YARN > Issue Type: Improvement > Components: federation > Affects Versions: 3.4.0 > Reporter: fanshilun > Assignee: fanshilun > Priority: Minor > Labels: pull-request-available > Attachments: SqlServer-StoredProc.png > > > 1. Currently this interface returns the number of apps in all sub-clusters, > increasing the limit on the number of query apps, limited to 1000 apps. > 2. Allows to query the App based on the specified HomeSubCluster. -- This message was sent by Atlassian Jira (v8.20.10#820010) --------------------------------------------------------------------- To unsubscribe, e-mail: yarn-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: yarn-issues-h...@hadoop.apache.org