This is an automated email from the ASF dual-hosted git repository.

zhangliang2022 pushed a commit to branch release-v0.12
in repository https://gitbox.apache.org/repos/asf/incubator-devlake.git

commit 968dc41e975826ee0972c1decc42099834a06636
Author: mindlesscloud <[email protected]>
AuthorDate: Wed Aug 3 15:03:49 2022 +0800

    fix the worklog collecting taking too long (#2662)
    
    * fix: fix the worklog collecting taking too long
    
    * fix: fix the changelog collecting taking too long
---
 plugins/jira/tasks/issue_changelog_collector.go | 4 ++--
 plugins/jira/tasks/worklog_collector.go         | 2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/plugins/jira/tasks/issue_changelog_collector.go 
b/plugins/jira/tasks/issue_changelog_collector.go
index e6562731..4497f983 100644
--- a/plugins/jira/tasks/issue_changelog_collector.go
+++ b/plugins/jira/tasks/issue_changelog_collector.go
@@ -57,9 +57,9 @@ func CollectIssueChangelogs(taskCtx core.SubTaskContext) 
error {
                dal.From("_tool_jira_board_issues bi"),
                dal.Join("LEFT JOIN _tool_jira_issues i ON (bi.connection_id = 
i.connection_id AND bi.issue_id = i.issue_id)"),
                dal.Join("LEFT JOIN _tool_jira_issue_changelogs c ON 
(c.connection_id = i.connection_id AND c.issue_id = i.issue_id)"),
-               dal.Where(`i.updated > i.created AND bi.connection_id = ?  AND 
bi.board_id = ? AND i.std_type != ? `, data.Options.ConnectionId, 
data.Options.BoardId, "Epic"),
+               dal.Where("i.updated > i.created AND bi.connection_id = ?  AND 
bi.board_id = ? AND i.std_type != ? ", data.Options.ConnectionId, 
data.Options.BoardId, "Epic"),
                dal.Groupby("i.issue_id, i.updated"),
-               dal.Having("i.updated > max(c.issue_updated) OR  
max(c.issue_updated) IS NULL"),
+               dal.Having("i.updated > max(c.issue_updated) OR  
(max(c.issue_updated) IS NULL AND COUNT(c.changelog_id) > 0)"),
        }
        // apply time range if any
        since := data.Since
diff --git a/plugins/jira/tasks/worklog_collector.go 
b/plugins/jira/tasks/worklog_collector.go
index 4d8b0e70..9d4694a8 100644
--- a/plugins/jira/tasks/worklog_collector.go
+++ b/plugins/jira/tasks/worklog_collector.go
@@ -53,7 +53,7 @@ func CollectWorklogs(taskCtx core.SubTaskContext) error {
                dal.Join("LEFT JOIN _tool_jira_worklogs wl ON (wl.connection_id 
= i.connection_id AND wl.issue_id = i.issue_id)"),
                dal.Where("i.updated > i.created AND bi.connection_id = ?  AND 
bi.board_id = ?  ", data.Options.ConnectionId, data.Options.BoardId),
                dal.Groupby("i.issue_id, i.updated"),
-               dal.Having("i.updated > max(wl.issue_updated) OR  
max(wl.issue_updated) IS NULL"),
+               dal.Having("i.updated > max(wl.issue_updated) OR  
(max(wl.issue_updated) IS NULL AND COUNT(wl.worklog_id) > 0)"),
        }
        // apply time range if any
        if since != nil {

Reply via email to