You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@devlake.apache.org by ab...@apache.org on 2022/07/19 02:26:56 UTC

[incubator-devlake] branch main updated: fix(github): use pr id instead of pr number

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

abeizn pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/incubator-devlake.git


The following commit(s) were added to refs/heads/main by this push:
     new 6a84dbc6 fix(github): use pr id instead of pr number
6a84dbc6 is described below

commit 6a84dbc6644169d1f9add8a2f6661e1a92c1555e
Author: Yingchu Chen <yi...@merico.dev>
AuthorDate: Tue Jul 19 01:09:39 2022 +0800

    fix(github): use pr id instead of pr number
    
    closes #2532
---
 .../_tool_github_pull_request_comments.csv         | 32 +++++++++++-----------
 .../e2e/snapshot_tables/pull_request_comments.csv  | 16 +++++++++++
 .../github/tasks/pr_review_comment_extractor.go    | 11 ++++++--
 3 files changed, 41 insertions(+), 18 deletions(-)

diff --git a/plugins/github/e2e/snapshot_tables/_tool_github_pull_request_comments.csv b/plugins/github/e2e/snapshot_tables/_tool_github_pull_request_comments.csv
index ba942f34..5c8aba4b 100644
--- a/plugins/github/e2e/snapshot_tables/_tool_github_pull_request_comments.csv
+++ b/plugins/github/e2e/snapshot_tables/_tool_github_pull_request_comments.csv
@@ -1,20 +1,20 @@
 connection_id,github_id,pull_request_id,body,author_username,author_user_id,commit_sha,github_created_at,github_updated_at,review_id,type,_raw_data_params,_raw_data_table,_raw_data_id,_raw_data_remark
-1,300245643,36,"""这里我不太明白,这么写能让这个goroutine不结束?""",panjf2000,7496278,39f04c6e65b76b5f20abd3ca0606db4cd038e5c2,2019-07-04T06:32:11.000+00:00,2019-07-18T15:26:41.000+00:00,257849164,DIFF,"{""ConnectionId"":1,""Owner"":""panjf2000"",""Repo"":""ants""}",_raw_github_api_pull_request_review_comments,1,
-1,300246398,36,"""`f()`应该放到这个匿名函数里面吧?""",panjf2000,7496278,39f04c6e65b76b5f20abd3ca0606db4cd038e5c2,2019-07-04T06:35:07.000+00:00,2019-07-18T15:26:41.000+00:00,257849164,DIFF,"{""ConnectionId"":1,""Owner"":""panjf2000"",""Repo"":""ants""}",_raw_github_api_pull_request_review_comments,2,
-1,307667007,40,"""I don't think assigning this variable to a oversize value is a good idea, threre are different scenarios which should have different interval durations to clean up goroutines, so could you please make `DEFAULT_CLEAN_INTERVAL_TIME ` configurable? Maybe adding a new function that accepts this variable as its argument.""",panjf2000,7496278,5dc8b9a71737eb57dc03fbbe3eb9010ff6c3fbb6,2019-07-26T09:38:21.000+00:00,2019-07-26T14:21:07.000+00:00,267089136,DIFF,"{""ConnectionId"": [...]
-1,307667451,40,"""I believe you should add new unit tests for your new feature.""",panjf2000,7496278,5dc8b9a71737eb57dc03fbbe3eb9010ff6c3fbb6,2019-07-26T09:39:24.000+00:00,2019-07-26T14:21:07.000+00:00,267089136,DIFF,"{""ConnectionId"":1,""Owner"":""panjf2000"",""Repo"":""ants""}",_raw_github_api_pull_request_review_comments,4,
-1,307669178,40,"""You omitted the `worker_func.go`, please update it.""",panjf2000,7496278,5dc8b9a71737eb57dc03fbbe3eb9010ff6c3fbb6,2019-07-26T09:43:56.000+00:00,2019-07-26T14:21:07.000+00:00,267089136,DIFF,"{""ConnectionId"":1,""Owner"":""panjf2000"",""Repo"":""ants""}",_raw_github_api_pull_request_review_comments,5,
-1,307671676,40,"""got it""",Anteoy,17495446,5dc8b9a71737eb57dc03fbbe3eb9010ff6c3fbb6,2019-07-26T09:50:06.000+00:00,2019-07-26T14:21:07.000+00:00,267094793,DIFF,"{""ConnectionId"":1,""Owner"":""panjf2000"",""Repo"":""ants""}",_raw_github_api_pull_request_review_comments,6,
-1,307672146,40,"""sure, I will add.""",Anteoy,17495446,5dc8b9a71737eb57dc03fbbe3eb9010ff6c3fbb6,2019-07-26T09:51:31.000+00:00,2019-07-26T14:21:07.000+00:00,267095424,DIFF,"{""ConnectionId"":1,""Owner"":""panjf2000"",""Repo"":""ants""}",_raw_github_api_pull_request_review_comments,7,
-1,307672417,40,"""I will think about it""",Anteoy,17495446,5dc8b9a71737eb57dc03fbbe3eb9010ff6c3fbb6,2019-07-26T09:52:20.000+00:00,2019-07-26T14:21:07.000+00:00,267095785,DIFF,"{""ConnectionId"":1,""Owner"":""panjf2000"",""Repo"":""ants""}",_raw_github_api_pull_request_review_comments,8,
-1,307675200,40,""" When the pool size is too large , Performance  will drop by the lock . Locking at high concurrency is like an atomic bomb. So I think it should be changed. Because it's the default pool value. Many user will use self-defined pool by NewPool. Of course, it is ok to not change.\r\n""",Anteoy,17495446,5dc8b9a71737eb57dc03fbbe3eb9010ff6c3fbb6,2019-07-26T09:59:42.000+00:00,2019-07-26T14:21:07.000+00:00,267099413,DIFF,"{""ConnectionId"":1,""Owner"":""panjf2000"",""Repo"":""a [...]
-1,307686223,40,"""I think we can modify the New method and periodicallyPurge, it can be used as the next enhancement. I restored it for this pr. May it can be another pr for this.""",Anteoy,17495446,5dc8b9a71737eb57dc03fbbe3eb9010ff6c3fbb6,2019-07-26T10:33:56.000+00:00,2019-07-26T14:21:07.000+00:00,267113847,DIFF,"{""ConnectionId"":1,""Owner"":""panjf2000"",""Repo"":""ants""}",_raw_github_api_pull_request_review_comments,10,
-1,315493235,41,"""SA2002: the goroutine calls T.Fatalf, which must be called in the same goroutine as the test (from `staticcheck`)""",golangcibot,42910462,58466b12b03a603d9f0331bbcc64a7557b27865d,2019-08-20T03:25:26.000+00:00,2019-08-20T10:31:55.000+00:00,276914383,DIFF,"{""ConnectionId"":1,""Owner"":""panjf2000"",""Repo"":""ants""}",_raw_github_api_pull_request_review_comments,11,
-1,315497949,41,"""Are these two fields of `MaxBlockingSubmit` and `blockingNum` really necessary? From where I stand, the throttle of your business traffics should be the capacity of pool, if you've set up `nonblocking` as `true`, it returns nil once the amount of all running workers reaches the pool capacity, otherwise, it is blocked until there is worker available.\r\n\r\nWhy did you add these two fields? is there any specific scenario?""",panjf2000,7496278,58466b12b03a603d9f0331bbcc64 [...]
-1,315498393,41,"""This section could be refined as:\r\n```go\r\nif w := p.retrieveWorker(); w == nil {\r\n    return ErrPoolBlocked\r\n} else {\r\n    w.task <- task\r\n}\r\n```""",panjf2000,7496278,58466b12b03a603d9f0331bbcc64a7557b27865d,2019-08-20T04:02:19.000+00:00,2019-08-20T10:31:55.000+00:00,276920486,DIFF,"{""ConnectionId"":1,""Owner"":""panjf2000"",""Repo"":""ants""}",_raw_github_api_pull_request_review_comments,13,
-1,315498823,41,"""The name of `ErrPoolBlocked` is blurry and unable to tell why it is being blocked, I would suggest `ErrPoolOverload` or `ErrPoolOverflow`.""",panjf2000,7496278,58466b12b03a603d9f0331bbcc64a7557b27865d,2019-08-20T04:05:11.000+00:00,2019-08-20T10:31:55.000+00:00,276920486,DIFF,"{""ConnectionId"":1,""Owner"":""panjf2000"",""Repo"":""ants""}",_raw_github_api_pull_request_review_comments,14,
-1,315499067,41,"""If this field is necessary, rename it to `MaxBlockingTasks`.""",panjf2000,7496278,58466b12b03a603d9f0331bbcc64a7557b27865d,2019-08-20T04:06:45.000+00:00,2019-08-20T10:31:55.000+00:00,276920486,DIFF,"{""ConnectionId"":1,""Owner"":""panjf2000"",""Repo"":""ants""}",_raw_github_api_pull_request_review_comments,15,
-1,315499281,41,"""I think `Nonblocking` is enough.""",panjf2000,7496278,58466b12b03a603d9f0331bbcc64a7557b27865d,2019-08-20T04:08:21.000+00:00,2019-08-20T10:31:55.000+00:00,276920486,DIFF,"{""ConnectionId"":1,""Owner"":""panjf2000"",""Repo"":""ants""}",_raw_github_api_pull_request_review_comments,16,
+1,300245643,292246524,"""这里我不太明白,这么写能让这个goroutine不结束?""",panjf2000,7496278,39f04c6e65b76b5f20abd3ca0606db4cd038e5c2,2019-07-04T06:32:11.000+00:00,2019-07-18T15:26:41.000+00:00,257849164,DIFF,"{""ConnectionId"":1,""Owner"":""panjf2000"",""Repo"":""ants""}",_raw_github_api_pull_request_review_comments,1,
+1,300246398,292246524,"""`f()`应该放到这个匿名函数里面吧?""",panjf2000,7496278,39f04c6e65b76b5f20abd3ca0606db4cd038e5c2,2019-07-04T06:35:07.000+00:00,2019-07-18T15:26:41.000+00:00,257849164,DIFF,"{""ConnectionId"":1,""Owner"":""panjf2000"",""Repo"":""ants""}",_raw_github_api_pull_request_review_comments,2,
+1,307667007,301421607,"""I don't think assigning this variable to a oversize value is a good idea, threre are different scenarios which should have different interval durations to clean up goroutines, so could you please make `DEFAULT_CLEAN_INTERVAL_TIME ` configurable? Maybe adding a new function that accepts this variable as its argument.""",panjf2000,7496278,5dc8b9a71737eb57dc03fbbe3eb9010ff6c3fbb6,2019-07-26T09:38:21.000+00:00,2019-07-26T14:21:07.000+00:00,267089136,DIFF,"{""Connecti [...]
+1,307667451,301421607,"""I believe you should add new unit tests for your new feature.""",panjf2000,7496278,5dc8b9a71737eb57dc03fbbe3eb9010ff6c3fbb6,2019-07-26T09:39:24.000+00:00,2019-07-26T14:21:07.000+00:00,267089136,DIFF,"{""ConnectionId"":1,""Owner"":""panjf2000"",""Repo"":""ants""}",_raw_github_api_pull_request_review_comments,4,
+1,307669178,301421607,"""You omitted the `worker_func.go`, please update it.""",panjf2000,7496278,5dc8b9a71737eb57dc03fbbe3eb9010ff6c3fbb6,2019-07-26T09:43:56.000+00:00,2019-07-26T14:21:07.000+00:00,267089136,DIFF,"{""ConnectionId"":1,""Owner"":""panjf2000"",""Repo"":""ants""}",_raw_github_api_pull_request_review_comments,5,
+1,307671676,301421607,"""got it""",Anteoy,17495446,5dc8b9a71737eb57dc03fbbe3eb9010ff6c3fbb6,2019-07-26T09:50:06.000+00:00,2019-07-26T14:21:07.000+00:00,267094793,DIFF,"{""ConnectionId"":1,""Owner"":""panjf2000"",""Repo"":""ants""}",_raw_github_api_pull_request_review_comments,6,
+1,307672146,301421607,"""sure, I will add.""",Anteoy,17495446,5dc8b9a71737eb57dc03fbbe3eb9010ff6c3fbb6,2019-07-26T09:51:31.000+00:00,2019-07-26T14:21:07.000+00:00,267095424,DIFF,"{""ConnectionId"":1,""Owner"":""panjf2000"",""Repo"":""ants""}",_raw_github_api_pull_request_review_comments,7,
+1,307672417,301421607,"""I will think about it""",Anteoy,17495446,5dc8b9a71737eb57dc03fbbe3eb9010ff6c3fbb6,2019-07-26T09:52:20.000+00:00,2019-07-26T14:21:07.000+00:00,267095785,DIFF,"{""ConnectionId"":1,""Owner"":""panjf2000"",""Repo"":""ants""}",_raw_github_api_pull_request_review_comments,8,
+1,307675200,301421607,""" When the pool size is too large , Performance  will drop by the lock . Locking at high concurrency is like an atomic bomb. So I think it should be changed. Because it's the default pool value. Many user will use self-defined pool by NewPool. Of course, it is ok to not change.\r\n""",Anteoy,17495446,5dc8b9a71737eb57dc03fbbe3eb9010ff6c3fbb6,2019-07-26T09:59:42.000+00:00,2019-07-26T14:21:07.000+00:00,267099413,DIFF,"{""ConnectionId"":1,""Owner"":""panjf2000"",""Rep [...]
+1,307686223,301421607,"""I think we can modify the New method and periodicallyPurge, it can be used as the next enhancement. I restored it for this pr. May it can be another pr for this.""",Anteoy,17495446,5dc8b9a71737eb57dc03fbbe3eb9010ff6c3fbb6,2019-07-26T10:33:56.000+00:00,2019-07-26T14:21:07.000+00:00,267113847,DIFF,"{""ConnectionId"":1,""Owner"":""panjf2000"",""Repo"":""ants""}",_raw_github_api_pull_request_review_comments,10,
+1,315493235,308859272,"""SA2002: the goroutine calls T.Fatalf, which must be called in the same goroutine as the test (from `staticcheck`)""",golangcibot,42910462,58466b12b03a603d9f0331bbcc64a7557b27865d,2019-08-20T03:25:26.000+00:00,2019-08-20T10:31:55.000+00:00,276914383,DIFF,"{""ConnectionId"":1,""Owner"":""panjf2000"",""Repo"":""ants""}",_raw_github_api_pull_request_review_comments,11,
+1,315497949,308859272,"""Are these two fields of `MaxBlockingSubmit` and `blockingNum` really necessary? From where I stand, the throttle of your business traffics should be the capacity of pool, if you've set up `nonblocking` as `true`, it returns nil once the amount of all running workers reaches the pool capacity, otherwise, it is blocked until there is worker available.\r\n\r\nWhy did you add these two fields? is there any specific scenario?""",panjf2000,7496278,58466b12b03a603d9f033 [...]
+1,315498393,308859272,"""This section could be refined as:\r\n```go\r\nif w := p.retrieveWorker(); w == nil {\r\n    return ErrPoolBlocked\r\n} else {\r\n    w.task <- task\r\n}\r\n```""",panjf2000,7496278,58466b12b03a603d9f0331bbcc64a7557b27865d,2019-08-20T04:02:19.000+00:00,2019-08-20T10:31:55.000+00:00,276920486,DIFF,"{""ConnectionId"":1,""Owner"":""panjf2000"",""Repo"":""ants""}",_raw_github_api_pull_request_review_comments,13,
+1,315498823,308859272,"""The name of `ErrPoolBlocked` is blurry and unable to tell why it is being blocked, I would suggest `ErrPoolOverload` or `ErrPoolOverflow`.""",panjf2000,7496278,58466b12b03a603d9f0331bbcc64a7557b27865d,2019-08-20T04:05:11.000+00:00,2019-08-20T10:31:55.000+00:00,276920486,DIFF,"{""ConnectionId"":1,""Owner"":""panjf2000"",""Repo"":""ants""}",_raw_github_api_pull_request_review_comments,14,
+1,315499067,308859272,"""If this field is necessary, rename it to `MaxBlockingTasks`.""",panjf2000,7496278,58466b12b03a603d9f0331bbcc64a7557b27865d,2019-08-20T04:06:45.000+00:00,2019-08-20T10:31:55.000+00:00,276920486,DIFF,"{""ConnectionId"":1,""Owner"":""panjf2000"",""Repo"":""ants""}",_raw_github_api_pull_request_review_comments,15,
+1,315499281,308859272,"""I think `Nonblocking` is enough.""",panjf2000,7496278,58466b12b03a603d9f0331bbcc64a7557b27865d,2019-08-20T04:08:21.000+00:00,2019-08-20T10:31:55.000+00:00,276920486,DIFF,"{""ConnectionId"":1,""Owner"":""panjf2000"",""Repo"":""ants""}",_raw_github_api_pull_request_review_comments,16,
 1,407675431,203756736,"""# [Codecov](https://codecov.io/gh/panjf2000/ants/pull/4?src=pr&el=h1) Report\n> Merging [#4](https://codecov.io/gh/panjf2000/ants/pull/4?src=pr&el=desc) into [master](https://codecov.io/gh/panjf2000/ants/commit/f5b37d0798a8e4c6780a1e08270fa50e979aa1d7?src=pr&el=desc) will **not change** coverage.\n> The diff coverage is `100%`.\n\n[![Impacted file tree graph](https://codecov.io/gh/panjf2000/ants/pull/4/graphs/tree.svg?token=JFa3laaGKq&width=650&height=150&src=pr) [...]
 1,407714136,203756736,"""@barryz 改的不错,不过有一点需要商榷,那个预分配的大小,之前benchmark我记得1000w也只需要用到7w多,这样的话预分配5w对于大部分场景其实有点浪费,你有没有用修改后的代码benchmark一下,每次allocs/op应该是变大了吧""",panjf2000,7496278,,2018-07-25T10:49:44.000+00:00,2018-07-25T10:49:44.000+00:00,0,NORMAL,"{""ConnectionId"":1,""Owner"":""panjf2000"",""Repo"":""ants""}",_raw_github_api_comments,3163,
 1,407755528,203756736,"""@panjf2000  因为从压测结果来看, 1000W的场景下goroutine池的作用很明显, 尤其是在节省内存开销方面,所以在选择默认worker数量时,取了一个相对较大的值。 下面是benchmark 对比\r\n\r\nmaster:\r\n\r\n```\r\ngoos: linux\r\ngoarch: amd64\r\nBenchmarkGoroutineWithFunc-4           1        15079030287 ns/op       723120296 B/op  10176159 allocs/op\r\nPASS\r\nok      command-line-arguments  15.106s\r\n```\r\n\r\nPR:\r\n```\r\ngoos: linux\r\ngoarch: amd64\r\nBenchmarkGoroutineWithFunc-4           1        15443376244 ns/op       72096288 [...]
diff --git a/plugins/github/e2e/snapshot_tables/pull_request_comments.csv b/plugins/github/e2e/snapshot_tables/pull_request_comments.csv
index a3a3a226..a0b392b8 100644
--- a/plugins/github/e2e/snapshot_tables/pull_request_comments.csv
+++ b/plugins/github/e2e/snapshot_tables/pull_request_comments.csv
@@ -1,4 +1,20 @@
 id,_raw_data_params,_raw_data_table,_raw_data_id,_raw_data_remark,pull_request_id,body,user_id,created_date,commit_sha,position,type,review_id,status
+github:GithubPrComment:1:300245643,"{""ConnectionId"":1,""Owner"":""panjf2000"",""Repo"":""ants""}",_raw_github_api_pull_request_review_comments,1,,github:GithubPullRequest:1:292246524,"""这里我不太明白,这么写能让这个goroutine不结束?""",github:GithubAccount:1:7496278,2019-07-04T06:32:11.000+00:00,39f04c6e65b76b5f20abd3ca0606db4cd038e5c2,0,DIFF,github:GithubPrReview:1:257849164,
+github:GithubPrComment:1:300246398,"{""ConnectionId"":1,""Owner"":""panjf2000"",""Repo"":""ants""}",_raw_github_api_pull_request_review_comments,2,,github:GithubPullRequest:1:292246524,"""`f()`应该放到这个匿名函数里面吧?""",github:GithubAccount:1:7496278,2019-07-04T06:35:07.000+00:00,39f04c6e65b76b5f20abd3ca0606db4cd038e5c2,0,DIFF,github:GithubPrReview:1:257849164,
+github:GithubPrComment:1:307667007,"{""ConnectionId"":1,""Owner"":""panjf2000"",""Repo"":""ants""}",_raw_github_api_pull_request_review_comments,3,,github:GithubPullRequest:1:301421607,"""I don't think assigning this variable to a oversize value is a good idea, threre are different scenarios which should have different interval durations to clean up goroutines, so could you please make `DEFAULT_CLEAN_INTERVAL_TIME ` configurable? Maybe adding a new function that accepts this variable as  [...]
+github:GithubPrComment:1:307667451,"{""ConnectionId"":1,""Owner"":""panjf2000"",""Repo"":""ants""}",_raw_github_api_pull_request_review_comments,4,,github:GithubPullRequest:1:301421607,"""I believe you should add new unit tests for your new feature.""",github:GithubAccount:1:7496278,2019-07-26T09:39:24.000+00:00,5dc8b9a71737eb57dc03fbbe3eb9010ff6c3fbb6,0,DIFF,github:GithubPrReview:1:267089136,
+github:GithubPrComment:1:307669178,"{""ConnectionId"":1,""Owner"":""panjf2000"",""Repo"":""ants""}",_raw_github_api_pull_request_review_comments,5,,github:GithubPullRequest:1:301421607,"""You omitted the `worker_func.go`, please update it.""",github:GithubAccount:1:7496278,2019-07-26T09:43:56.000+00:00,5dc8b9a71737eb57dc03fbbe3eb9010ff6c3fbb6,0,DIFF,github:GithubPrReview:1:267089136,
+github:GithubPrComment:1:307671676,"{""ConnectionId"":1,""Owner"":""panjf2000"",""Repo"":""ants""}",_raw_github_api_pull_request_review_comments,6,,github:GithubPullRequest:1:301421607,"""got it""",github:GithubAccount:1:17495446,2019-07-26T09:50:06.000+00:00,5dc8b9a71737eb57dc03fbbe3eb9010ff6c3fbb6,0,DIFF,github:GithubPrReview:1:267094793,
+github:GithubPrComment:1:307672146,"{""ConnectionId"":1,""Owner"":""panjf2000"",""Repo"":""ants""}",_raw_github_api_pull_request_review_comments,7,,github:GithubPullRequest:1:301421607,"""sure, I will add.""",github:GithubAccount:1:17495446,2019-07-26T09:51:31.000+00:00,5dc8b9a71737eb57dc03fbbe3eb9010ff6c3fbb6,0,DIFF,github:GithubPrReview:1:267095424,
+github:GithubPrComment:1:307672417,"{""ConnectionId"":1,""Owner"":""panjf2000"",""Repo"":""ants""}",_raw_github_api_pull_request_review_comments,8,,github:GithubPullRequest:1:301421607,"""I will think about it""",github:GithubAccount:1:17495446,2019-07-26T09:52:20.000+00:00,5dc8b9a71737eb57dc03fbbe3eb9010ff6c3fbb6,0,DIFF,github:GithubPrReview:1:267095785,
+github:GithubPrComment:1:307675200,"{""ConnectionId"":1,""Owner"":""panjf2000"",""Repo"":""ants""}",_raw_github_api_pull_request_review_comments,9,,github:GithubPullRequest:1:301421607,""" When the pool size is too large , Performance  will drop by the lock . Locking at high concurrency is like an atomic bomb. So I think it should be changed. Because it's the default pool value. Many user will use self-defined pool by NewPool. Of course, it is ok to not change.\r\n""",github:GithubAccoun [...]
+github:GithubPrComment:1:307686223,"{""ConnectionId"":1,""Owner"":""panjf2000"",""Repo"":""ants""}",_raw_github_api_pull_request_review_comments,10,,github:GithubPullRequest:1:301421607,"""I think we can modify the New method and periodicallyPurge, it can be used as the next enhancement. I restored it for this pr. May it can be another pr for this.""",github:GithubAccount:1:17495446,2019-07-26T10:33:56.000+00:00,5dc8b9a71737eb57dc03fbbe3eb9010ff6c3fbb6,0,DIFF,github:GithubPrReview:1:267113847,
+github:GithubPrComment:1:315493235,"{""ConnectionId"":1,""Owner"":""panjf2000"",""Repo"":""ants""}",_raw_github_api_pull_request_review_comments,11,,github:GithubPullRequest:1:308859272,"""SA2002: the goroutine calls T.Fatalf, which must be called in the same goroutine as the test (from `staticcheck`)""",github:GithubAccount:1:42910462,2019-08-20T03:25:26.000+00:00,58466b12b03a603d9f0331bbcc64a7557b27865d,0,DIFF,github:GithubPrReview:1:276914383,
+github:GithubPrComment:1:315497949,"{""ConnectionId"":1,""Owner"":""panjf2000"",""Repo"":""ants""}",_raw_github_api_pull_request_review_comments,12,,github:GithubPullRequest:1:308859272,"""Are these two fields of `MaxBlockingSubmit` and `blockingNum` really necessary? From where I stand, the throttle of your business traffics should be the capacity of pool, if you've set up `nonblocking` as `true`, it returns nil once the amount of all running workers reaches the pool capacity, otherwise [...]
+github:GithubPrComment:1:315498393,"{""ConnectionId"":1,""Owner"":""panjf2000"",""Repo"":""ants""}",_raw_github_api_pull_request_review_comments,13,,github:GithubPullRequest:1:308859272,"""This section could be refined as:\r\n```go\r\nif w := p.retrieveWorker(); w == nil {\r\n    return ErrPoolBlocked\r\n} else {\r\n    w.task <- task\r\n}\r\n```""",github:GithubAccount:1:7496278,2019-08-20T04:02:19.000+00:00,58466b12b03a603d9f0331bbcc64a7557b27865d,0,DIFF,github:GithubPrReview:1:276920486,
+github:GithubPrComment:1:315498823,"{""ConnectionId"":1,""Owner"":""panjf2000"",""Repo"":""ants""}",_raw_github_api_pull_request_review_comments,14,,github:GithubPullRequest:1:308859272,"""The name of `ErrPoolBlocked` is blurry and unable to tell why it is being blocked, I would suggest `ErrPoolOverload` or `ErrPoolOverflow`.""",github:GithubAccount:1:7496278,2019-08-20T04:05:11.000+00:00,58466b12b03a603d9f0331bbcc64a7557b27865d,0,DIFF,github:GithubPrReview:1:276920486,
+github:GithubPrComment:1:315499067,"{""ConnectionId"":1,""Owner"":""panjf2000"",""Repo"":""ants""}",_raw_github_api_pull_request_review_comments,15,,github:GithubPullRequest:1:308859272,"""If this field is necessary, rename it to `MaxBlockingTasks`.""",github:GithubAccount:1:7496278,2019-08-20T04:06:45.000+00:00,58466b12b03a603d9f0331bbcc64a7557b27865d,0,DIFF,github:GithubPrReview:1:276920486,
+github:GithubPrComment:1:315499281,"{""ConnectionId"":1,""Owner"":""panjf2000"",""Repo"":""ants""}",_raw_github_api_pull_request_review_comments,16,,github:GithubPullRequest:1:308859272,"""I think `Nonblocking` is enough.""",github:GithubAccount:1:7496278,2019-08-20T04:08:21.000+00:00,58466b12b03a603d9f0331bbcc64a7557b27865d,0,DIFF,github:GithubPrReview:1:276920486,
 github:GithubPrComment:1:407675431,"{""ConnectionId"":1,""Owner"":""panjf2000"",""Repo"":""ants""}",_raw_github_api_comments,3162,,github:GithubPullRequest:1:203756736,"""# [Codecov](https://codecov.io/gh/panjf2000/ants/pull/4?src=pr&el=h1) Report\n> Merging [#4](https://codecov.io/gh/panjf2000/ants/pull/4?src=pr&el=desc) into [master](https://codecov.io/gh/panjf2000/ants/commit/f5b37d0798a8e4c6780a1e08270fa50e979aa1d7?src=pr&el=desc) will **not change** coverage.\n> The diff coverage is [...]
 github:GithubPrComment:1:407714136,"{""ConnectionId"":1,""Owner"":""panjf2000"",""Repo"":""ants""}",_raw_github_api_comments,3163,,github:GithubPullRequest:1:203756736,"""@barryz 改的不错,不过有一点需要商榷,那个预分配的大小,之前benchmark我记得1000w也只需要用到7w多,这样的话预分配5w对于大部分场景其实有点浪费,你有没有用修改后的代码benchmark一下,每次allocs/op应该是变大了吧""",github:GithubAccount:1:7496278,2018-07-25T10:49:44.000+00:00,,0,NORMAL,github:GithubPrReview:1:0,
 github:GithubPrComment:1:407755528,"{""ConnectionId"":1,""Owner"":""panjf2000"",""Repo"":""ants""}",_raw_github_api_comments,3164,,github:GithubPullRequest:1:203756736,"""@panjf2000  因为从压测结果来看, 1000W的场景下goroutine池的作用很明显, 尤其是在节省内存开销方面,所以在选择默认worker数量时,取了一个相对较大的值。 下面是benchmark 对比\r\n\r\nmaster:\r\n\r\n```\r\ngoos: linux\r\ngoarch: amd64\r\nBenchmarkGoroutineWithFunc-4           1        15079030287 ns/op       723120296 B/op  10176159 allocs/op\r\nPASS\r\nok      command-line-arguments  15 [...]
diff --git a/plugins/github/tasks/pr_review_comment_extractor.go b/plugins/github/tasks/pr_review_comment_extractor.go
index e15ccf6f..be99ebc3 100644
--- a/plugins/github/tasks/pr_review_comment_extractor.go
+++ b/plugins/github/tasks/pr_review_comment_extractor.go
@@ -20,6 +20,8 @@ package tasks
 import (
 	"encoding/json"
 	"fmt"
+	"github.com/apache/incubator-devlake/plugins/core/dal"
+	"gorm.io/gorm"
 	"regexp"
 	"runtime/debug"
 	"strconv"
@@ -89,11 +91,16 @@ func ExtractApiPrReviewComments(taskCtx core.SubTaskContext) error {
 			if prUrlRegex != nil {
 				groups := prUrlRegex.FindStringSubmatch(prReviewComment.PrUrl)
 				if len(groups) > 0 {
-					prId, err := strconv.Atoi(groups[1])
+					prNumber, err := strconv.Atoi(groups[1])
 					if err != nil {
 						return nil, fmt.Errorf("parse prId failed:[%s] stack:[%s]", err.Error(), debug.Stack())
 					}
-					githubPrComment.PullRequestId = prId
+					pr := &models.GithubPullRequest{}
+					err = taskCtx.GetDal().First(pr, dal.Where("connection_id = ? and number = ? and repo_id = ?", data.Options.ConnectionId, prNumber, data.Repo.GithubId))
+					if err != nil && err != gorm.ErrRecordNotFound {
+						return nil, err
+					}
+					githubPrComment.PullRequestId = pr.GithubId
 				}
 			}
 			results = append(results, githubPrComment)