[ 
https://issues.apache.org/jira/browse/YARN-11290?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17603794#comment-17603794
 ] 

ASF GitHub Bot commented on YARN-11290:
---------------------------------------

goiri commented on code in PR #4846:
URL: https://github.com/apache/hadoop/pull/4846#discussion_r970127749


##########
hadoop-yarn-project/hadoop-yarn/bin/FederationStateStore/MySQL/FederationStateStoreStoredProcs.sql:
##########
@@ -122,10 +122,21 @@ 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
+   SELECT
+       applicationId,
+       homeSubCluster,
+       createTime
+    FROM
+        (SELECT
+             *,
+             @rownum := 0,
+             IF(homeSubCluster_IN = '', 1, (homeSubCluster = 
homeSubCluster_IN)) AS filter_result
+         FROM applicationshomesubcluster
+         ORDER BY createTime DESC) AS app_home_sc
+    WHERE filter_result = 1

Review Comment:
   Why you cannot do:
   ```
   SELECT
          applicationId,
          homeSubCluster,
          createTime
   FROM applicationshomesubcluster
   WHERE homeSubCluster_IN = '' OR homeSubCluster = homeSubCluster_IN
   ```



##########
hadoop-yarn-project/hadoop-yarn/bin/FederationStateStore/SQLServer/FederationStateStoreStoreProcs.sql:
##########
@@ -111,12 +111,37 @@ 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]
+        IF @homeSubCluster = ''
+            SELECT
+                [applicationId],
+                [homeSubCluster],
+                [createTime]
+            FROM(SELECT
+                     [applicationId],
+                     [homeSubCluster],
+                     [createTime],
+                     row_number() over(order by [createTime] desc) AS app_rank
+                 FROM [dbo].[applicationsHomeSubCluster]) AS t
+            WHERE app_rank <= @limit;
+        ELSE
+            SELECT
+                [applicationId],
+                [homeSubCluster],
+                [createTime]
+            FROM(SELECT
+                     [applicationId],
+                     [homeSubCluster],
+                     [createTime],
+                     row_number() over(partition by [homeSubCluster] order by 
[createTime] desc) AS app_rank
+                 FROM [dbo].[applicationsHomeSubCluster]
+                 WHERE [homeSubCluster] = @homeSubCluster) AS t

Review Comment:
   Why not 
   ```
   WHERE [homeSubCluster] = @homeSubCluster OR @homeSubCluster = ''
   ```





> 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

Reply via email to