)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":1000338,"name":"Abhi Dangeti","email":"abhinav@couchbase.com","username":"abhinavdangeti","avatars":[{"url":"https://www.gravatar.com/avatar/9007099855b1bf7d96e9c1a10bc9542e.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/9007099855b1bf7d96e9c1a10bc9542e.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/9007099855b1bf7d96e9c1a10bc9542e.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/9007099855b1bf7d96e9c1a10bc9542e.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"cca04b872609c7506ed98c8b733976457d46f17b","unresolved":true,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"MB-52882 : Added queued processing for batch requests."},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Currently, throttling and limiting are not handled. This PR introduces a channel to queue incoming batch requests and process them based on regulator status."},{"line_number":10,"context_line":"Throttled requests are executed after sleeping for the throttle duration."},{"line_number":11,"context_line":"Limited requests are executed after an exponential backoff interval."},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":9,"id":"95518e0f_b1823800","line":9,"updated":"2022-07-28 16:09:13.000000000","message":"Would you limit the line length to 80 characters in the commit message as well?","commit_id":"38838c25da0b61ae71b9244a64998079f269c26d"},{"author":{"_account_id":1004875,"name":"Aditi Ahuja","email":"aditi.ahuja@couchbase.com","username":"metonymic-smokey","avatars":[{"url":"https://www.gravatar.com/avatar/d69696fe9a465a59dc6666b355fb6d71.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/d69696fe9a465a59dc6666b355fb6d71.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/d69696fe9a465a59dc6666b355fb6d71.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/d69696fe9a465a59dc6666b355fb6d71.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"f37f7349bdb17330396b63475e9993912a059ad3","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"MB-52882 : Added queued processing for batch requests."},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Currently, throttling and limiting are not handled. This PR introduces a channel to queue incoming batch requests and process them based on regulator status."},{"line_number":10,"context_line":"Throttled requests are executed after sleeping for the throttle duration."},{"line_number":11,"context_line":"Limited requests are executed after an exponential backoff interval."},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":9,"id":"95dee500_349d82e1","line":9,"in_reply_to":"95518e0f_b1823800","updated":"2022-07-29 04:14:13.000000000","message":"Done","commit_id":"38838c25da0b61ae71b9244a64998079f269c26d"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":1000338,"name":"Abhi Dangeti","email":"abhinav@couchbase.com","username":"abhinavdangeti","avatars":[{"url":"https://www.gravatar.com/avatar/9007099855b1bf7d96e9c1a10bc9542e.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/9007099855b1bf7d96e9c1a10bc9542e.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/9007099855b1bf7d96e9c1a10bc9542e.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/9007099855b1bf7d96e9c1a10bc9542e.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"2cd5975b19fa08413796a26e4c86d311da144b22","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"9aed5c1b_e1175df5","updated":"2022-07-28 15:28:25.000000000","message":"\u003e Patch Set 9: Well-Formed-1\n\u003e \n\u003e Build Failed \n\u003e \n\u003e http://cv.jenkins.couchbase.com/job/cbft-master/2919/ : FAILURE\n\u003e \n\u003e TestPartialRollbackMossNoOp (1.50s) ( http://cv.jenkins.couchbase.com/job/cbft-master/2919/ )\n\u003e \n\u003e Failure of a testrunner test ( http://cv.jenkins.couchbase.com/job/cbft-master/2919/ )\n\n@Aditi it seems the above failure is valid and will need addressing.\n\n07:19:08 --- FAIL: TestPartialRollbackMossNoOp (1.51s)\n07:19:08     testing.go:1152: race detected during execution of test\n\nYou should be able to reproduce this locally as well with:\n  \n  go test -run\u003dTestPartialRollbackMossNoOp -race\n  \nHere\u0027s the data race that you\u0027ll need to take a closer look at:\n\n```\n07:19:08 \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n07:19:08 WARNING: DATA RACE\n07:19:08 Read at 0x00c000182b60 by goroutine 90:\n07:19:08   github.com/couchbase/cbft.execute()\n07:19:08       /home/couchbase/jenkins/workspace/cbft-master/gopath/src/github.com/couchbase/cbft/pindex_bleve.go:2718 +0x1a4\n07:19:08   github.com/couchbase/cbft.consumer()\n07:19:08       /home/couchbase/jenkins/workspace/cbft-master/gopath/src/github.com/couchbase/cbft/pindex_bleve.go:2675 +0x2e9\n07:19:08   github.com/couchbase/cbft.executeBatch·dwrap·21()\n07:19:08       /home/couchbase/jenkins/workspace/cbft-master/gopath/src/github.com/couchbase/cbft/pindex_bleve.go:2621 +0x58\n07:19:08 \n07:19:08 Previous write at 0x00c000182b60 by goroutine 82:\n07:19:08   github.com/couchbase/cbft.runBatchWorker()\n07:19:08       /home/couchbase/jenkins/workspace/cbft-master/gopath/src/github.com/couchbase/cbft/pindex_bleve.go:2556 +0xe49\n07:19:08   github.com/couchbase/cbft.(*BleveDest).startBatchWorkers·dwrap·14()\n07:19:08       /home/couchbase/jenkins/workspace/cbft-master/gopath/src/github.com/couchbase/cbft/pindex_bleve.go:449 +0x71\n07:19:08 \n07:19:08 Goroutine 90 (running) created at:\n07:19:08   github.com/couchbase/cbft.executeBatch()\n07:19:08       /home/couchbase/jenkins/workspace/cbft-master/gopath/src/github.com/couchbase/cbft/pindex_bleve.go:2621 +0x35c\n07:19:08   github.com/couchbase/cbft.runBatchWorker()\n07:19:08       /home/couchbase/jenkins/workspace/cbft-master/gopath/src/github.com/couchbase/cbft/pindex_bleve.go:2559 +0xfd8\n07:19:08   github.com/couchbase/cbft.(*BleveDest).startBatchWorkers·dwrap·14()\n07:19:08       /home/couchbase/jenkins/workspace/cbft-master/gopath/src/github.com/couchbase/cbft/pindex_bleve.go:449 +0x71\n07:19:08 \n07:19:08 Goroutine 82 (running) created at:\n07:19:08   github.com/couchbase/cbft.(*BleveDest).startBatchWorkers()\n07:19:08       /home/couchbase/jenkins/workspace/cbft-master/gopath/src/github.com/couchbase/cbft/pindex_bleve.go:449 +0x4e\n07:19:08   github.com/couchbase/cbft.NewBleveDestEx()\n07:19:08       /home/couchbase/jenkins/workspace/cbft-master/gopath/src/github.com/couchbase/cbft/pindex_bleve.go:416 +0x53a\n07:19:08   github.com/couchbase/cbft.NewBlevePIndexImpl()\n07:19:08       /home/couchbase/jenkins/workspace/cbft-master/gopath/src/github.com/couchbase/cbft/pindex_bleve.go:922 +0x5f2\n07:19:08   github.com/couchbase/cbft.NewBlevePIndexImplEx()\n07:19:08       /home/couchbase/jenkins/workspace/cbft-master/gopath/src/github.com/couchbase/cbft/pindex_bleve_copy.go:64 +0xadb\n07:19:08   github.com/couchbase/cbgt.NewPIndexImplEx()\n07:19:08       /home/couchbase/jenkins/workspace/cbft-master/gopath/src/github.com/couchbase/cbgt/pindex_impl.go:184 +0x178\n07:19:08   github.com/couchbase/cbgt.NewPIndex()\n07:19:08       /home/couchbase/jenkins/workspace/cbft-master/gopath/src/github.com/couchbase/cbgt/pindex.go:164 +0x3a9\n07:19:08   github.com/couchbase/cbgt.(*Manager).startPIndex()\n07:19:08       /home/couchbase/jenkins/workspace/cbft-master/gopath/src/github.com/couchbase/cbgt/manager_janitor.go:1006 +0xbe4\n07:19:08   github.com/couchbase/cbgt.(*Manager).pindexesStart.func1()\n07:19:08       /home/couchbase/jenkins/workspace/cbft-master/gopath/src/github.com/couchbase/cbgt/manager_janitor.go:185 +0xc4\n07:19:08 \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n```","commit_id":"38838c25da0b61ae71b9244a64998079f269c26d"},{"author":{"_account_id":1000338,"name":"Abhi Dangeti","email":"abhinav@couchbase.com","username":"abhinavdangeti","avatars":[{"url":"https://www.gravatar.com/avatar/9007099855b1bf7d96e9c1a10bc9542e.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/9007099855b1bf7d96e9c1a10bc9542e.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/9007099855b1bf7d96e9c1a10bc9542e.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/9007099855b1bf7d96e9c1a10bc9542e.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"e4db969225a242f685d58b0f0ba9533a6ce20a8e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"57dcd51e_46b920a1","updated":"2022-07-28 16:52:51.000000000","message":"I like the general direction you\u0027ve taken here, but some concerns with the implementation.","commit_id":"38838c25da0b61ae71b9244a64998079f269c26d"},{"author":{"_account_id":1000338,"name":"Abhi Dangeti","email":"abhinav@couchbase.com","username":"abhinavdangeti","avatars":[{"url":"https://www.gravatar.com/avatar/9007099855b1bf7d96e9c1a10bc9542e.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/9007099855b1bf7d96e9c1a10bc9542e.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/9007099855b1bf7d96e9c1a10bc9542e.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/9007099855b1bf7d96e9c1a10bc9542e.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"0929036800b00a245200f2f8b7fc249650879edf","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":12,"id":"43fc77e0_590ebbc1","updated":"2022-07-29 16:29:47.000000000","message":"Minor-ish comments.","commit_id":"7dbd7faaae2f9b971b70d78c340f8384ba2bf9d4"},{"author":{"_account_id":1000338,"name":"Abhi Dangeti","email":"abhinav@couchbase.com","username":"abhinavdangeti","avatars":[{"url":"https://www.gravatar.com/avatar/9007099855b1bf7d96e9c1a10bc9542e.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/9007099855b1bf7d96e9c1a10bc9542e.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/9007099855b1bf7d96e9c1a10bc9542e.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/9007099855b1bf7d96e9c1a10bc9542e.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"8791768ffd9a34a366c25565e4c7c11e9db1e52b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":19,"id":"6a76e9e7_339e6563","updated":"2022-08-01 15:36:00.000000000","message":"Looks good to me!","commit_id":"b06f75260915599cf24b0ecd16d9e8b0088f99eb"}],"pindex_bleve.go":[{"author":{"_account_id":1000338,"name":"Abhi Dangeti","email":"abhinav@couchbase.com","username":"abhinavdangeti","avatars":[{"url":"https://www.gravatar.com/avatar/9007099855b1bf7d96e9c1a10bc9542e.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/9007099855b1bf7d96e9c1a10bc9542e.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/9007099855b1bf7d96e9c1a10bc9542e.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/9007099855b1bf7d96e9c1a10bc9542e.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"e4db969225a242f685d58b0f0ba9533a6ce20a8e","unresolved":true,"context_lines":[{"line_number":411,"context_line":""},{"line_number":412,"context_line":"\tbleveDest.batchReqChs \u003d make([]chan *batchRequest, asyncBatchWorkerCount)"},{"line_number":413,"context_line":""},{"line_number":414,"context_line":"\tbleveDest.requestQueue \u003d make(chan executeRequest, asyncBatchWorkerCount)"},{"line_number":415,"context_line":""},{"line_number":416,"context_line":"\tbleveDest.startBatchWorkers()"},{"line_number":417,"context_line":""}],"source_content_type":"text/x-go","patch_set":9,"id":"f78ed445_fa7d29c7","line":414,"updated":"2022-07-28 16:52:51.000000000","message":"I think this should be used only when in serverless mode. We should bypass this queue otherwise.","commit_id":"38838c25da0b61ae71b9244a64998079f269c26d"},{"author":{"_account_id":1004875,"name":"Aditi Ahuja","email":"aditi.ahuja@couchbase.com","username":"metonymic-smokey","avatars":[{"url":"https://www.gravatar.com/avatar/d69696fe9a465a59dc6666b355fb6d71.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/d69696fe9a465a59dc6666b355fb6d71.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/d69696fe9a465a59dc6666b355fb6d71.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/d69696fe9a465a59dc6666b355fb6d71.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"f37f7349bdb17330396b63475e9993912a059ad3","unresolved":false,"context_lines":[{"line_number":411,"context_line":""},{"line_number":412,"context_line":"\tbleveDest.batchReqChs \u003d make([]chan *batchRequest, asyncBatchWorkerCount)"},{"line_number":413,"context_line":""},{"line_number":414,"context_line":"\tbleveDest.requestQueue \u003d make(chan executeRequest, asyncBatchWorkerCount)"},{"line_number":415,"context_line":""},{"line_number":416,"context_line":"\tbleveDest.startBatchWorkers()"},{"line_number":417,"context_line":""}],"source_content_type":"text/x-go","patch_set":9,"id":"d3e59eaa_82c526d7","line":414,"in_reply_to":"f78ed445_fa7d29c7","updated":"2022-07-29 04:14:13.000000000","message":"Done","commit_id":"38838c25da0b61ae71b9244a64998079f269c26d"},{"author":{"_account_id":1000338,"name":"Abhi Dangeti","email":"abhinav@couchbase.com","username":"abhinavdangeti","avatars":[{"url":"https://www.gravatar.com/avatar/9007099855b1bf7d96e9c1a10bc9542e.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/9007099855b1bf7d96e9c1a10bc9542e.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/9007099855b1bf7d96e9c1a10bc9542e.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/9007099855b1bf7d96e9c1a10bc9542e.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"e4db969225a242f685d58b0f0ba9533a6ce20a8e","unresolved":true,"context_lines":[{"line_number":2626,"context_line":"\t\t\tbatch:         batch,"},{"line_number":2627,"context_line":"\t\t}"},{"line_number":2628,"context_line":"\t\tbdp[0].bdest.requestQueue \u003c- req"},{"line_number":2629,"context_line":"\t\tgo consumer(bdp[0].bdest, bdp[0].bdest.sourceName)"},{"line_number":2630,"context_line":"\t}"},{"line_number":2631,"context_line":""},{"line_number":2632,"context_line":"\t// NOTE: each partition is going to fetch its bleve index\u0027s"}],"source_content_type":"text/x-go","patch_set":9,"id":"294ea77c_6205d304","line":2629,"updated":"2022-07-28 16:52:51.000000000","message":"If you look into runBatchWorker(..) where executeBatch(..) is called \n- we reset the batch to nil after calling executeBatch(..)\n- and also do a bunch of stat updates \n\nIf we make this call asynchronous - I worry that the batch could be set to nil before it\u0027s actually executed (still data loss) and stats are updated prior to actually executing the batch.\n\nGiven that the workers work on these batches asynchronously anyway - I think we can get away by not making the consumer call asynchronous again here.","commit_id":"38838c25da0b61ae71b9244a64998079f269c26d"},{"author":{"_account_id":1000338,"name":"Abhi Dangeti","email":"abhinav@couchbase.com","username":"abhinavdangeti","avatars":[{"url":"https://www.gravatar.com/avatar/9007099855b1bf7d96e9c1a10bc9542e.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/9007099855b1bf7d96e9c1a10bc9542e.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/9007099855b1bf7d96e9c1a10bc9542e.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/9007099855b1bf7d96e9c1a10bc9542e.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"efd6ce84f0b479a6d3167c4b093c1163c9da4ae2","unresolved":true,"context_lines":[{"line_number":2626,"context_line":"\t\t\tbatch:         batch,"},{"line_number":2627,"context_line":"\t\t}"},{"line_number":2628,"context_line":"\t\tbdp[0].bdest.requestQueue \u003c- req"},{"line_number":2629,"context_line":"\t\tgo consumer(bdp[0].bdest, bdp[0].bdest.sourceName)"},{"line_number":2630,"context_line":"\t}"},{"line_number":2631,"context_line":""},{"line_number":2632,"context_line":"\t// NOTE: each partition is going to fetch its bleve index\u0027s"}],"source_content_type":"text/x-go","patch_set":9,"id":"32b6b434_a7de7c0c","line":2629,"in_reply_to":"294ea77c_6205d304","updated":"2022-07-28 20:39:01.000000000","message":"Seems the data race that unit test caught is the situation^.","commit_id":"38838c25da0b61ae71b9244a64998079f269c26d"},{"author":{"_account_id":1004875,"name":"Aditi Ahuja","email":"aditi.ahuja@couchbase.com","username":"metonymic-smokey","avatars":[{"url":"https://www.gravatar.com/avatar/d69696fe9a465a59dc6666b355fb6d71.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/d69696fe9a465a59dc6666b355fb6d71.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/d69696fe9a465a59dc6666b355fb6d71.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/d69696fe9a465a59dc6666b355fb6d71.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"3c13b62be7ec06c0ba1eef196b0168e6acf26586","unresolved":true,"context_lines":[{"line_number":2626,"context_line":"\t\t\tbatch:         batch,"},{"line_number":2627,"context_line":"\t\t}"},{"line_number":2628,"context_line":"\t\tbdp[0].bdest.requestQueue \u003c- req"},{"line_number":2629,"context_line":"\t\tgo consumer(bdp[0].bdest, bdp[0].bdest.sourceName)"},{"line_number":2630,"context_line":"\t}"},{"line_number":2631,"context_line":""},{"line_number":2632,"context_line":"\t// NOTE: each partition is going to fetch its bleve index\u0027s"}],"source_content_type":"text/x-go","patch_set":9,"id":"ad754f39_be3fd908","line":2629,"in_reply_to":"32b6b434_a7de7c0c","updated":"2022-07-29 04:27:06.000000000","message":"@Abhi, thanks!\nTo process these request synchronously while also maintaining order + updating stats only after batch execution, I have made some changes in my approach.\nWhen a batch needs to be executed, it is not _immediately_ executed but instead queued in the request channel. The batch that _is_ executed is the one at the head of the queue. \nThis avoid spawning a separate goroutine to process requests and executes batches in the same goroutine. \nI have updated the doc with details of the approach.\nThanks!","commit_id":"38838c25da0b61ae71b9244a64998079f269c26d"},{"author":{"_account_id":1004875,"name":"Aditi Ahuja","email":"aditi.ahuja@couchbase.com","username":"metonymic-smokey","avatars":[{"url":"https://www.gravatar.com/avatar/d69696fe9a465a59dc6666b355fb6d71.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/d69696fe9a465a59dc6666b355fb6d71.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/d69696fe9a465a59dc6666b355fb6d71.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/d69696fe9a465a59dc6666b355fb6d71.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"28033bb8ece871a05932ceb7e9ed253b3ff40dbd","unresolved":false,"context_lines":[{"line_number":2626,"context_line":"\t\t\tbatch:         batch,"},{"line_number":2627,"context_line":"\t\t}"},{"line_number":2628,"context_line":"\t\tbdp[0].bdest.requestQueue \u003c- req"},{"line_number":2629,"context_line":"\t\tgo consumer(bdp[0].bdest, bdp[0].bdest.sourceName)"},{"line_number":2630,"context_line":"\t}"},{"line_number":2631,"context_line":""},{"line_number":2632,"context_line":"\t// NOTE: each partition is going to fetch its bleve index\u0027s"}],"source_content_type":"text/x-go","patch_set":9,"id":"46bb74e8_d6b9d738","line":2629,"in_reply_to":"ad754f39_be3fd908","updated":"2022-07-29 05:22:45.000000000","message":"Updated the approach following a later review.","commit_id":"38838c25da0b61ae71b9244a64998079f269c26d"},{"author":{"_account_id":1003912,"name":"Sreekanth Sivasankaran","email":"sreekanth.sivasankaran@couchbase.com","username":"sreekanth-cb","avatars":[{"url":"https://www.gravatar.com/avatar/1cfa3f82174305fc7b07623866e0a72a.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/1cfa3f82174305fc7b07623866e0a72a.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/1cfa3f82174305fc7b07623866e0a72a.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/1cfa3f82174305fc7b07623866e0a72a.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"93773b9c8a1624c652b3c2efd57c43cffc0e3f02","unresolved":true,"context_lines":[{"line_number":465,"context_line":"\tch :\u003d t.requestQueue"},{"line_number":466,"context_line":"\tt.requestQueue \u003d make(chan executeRequest, asyncBatchWorkerCount)"},{"line_number":467,"context_line":"\tt.m.Unlock()"},{"line_number":468,"context_line":"\tclose(ch)"},{"line_number":469,"context_line":"}"},{"line_number":470,"context_line":""},{"line_number":471,"context_line":"// ---------------------------------------------------------"}],"source_content_type":"text/x-go","patch_set":10,"id":"9bcfa3da_00a409d3","line":468,"updated":"2022-07-29 04:37:07.000000000","message":"perhaps, the Serverless check has to be inside this method than the caller taking care of this?","commit_id":"9a0f2aeedce7d5d52e04d63d2086355d8476795e"},{"author":{"_account_id":1004875,"name":"Aditi Ahuja","email":"aditi.ahuja@couchbase.com","username":"metonymic-smokey","avatars":[{"url":"https://www.gravatar.com/avatar/d69696fe9a465a59dc6666b355fb6d71.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/d69696fe9a465a59dc6666b355fb6d71.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/d69696fe9a465a59dc6666b355fb6d71.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/d69696fe9a465a59dc6666b355fb6d71.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"305704749fbdfe7f115c649fb0567e2b3d3d7dcb","unresolved":false,"context_lines":[{"line_number":465,"context_line":"\tch :\u003d t.requestQueue"},{"line_number":466,"context_line":"\tt.requestQueue \u003d make(chan executeRequest, asyncBatchWorkerCount)"},{"line_number":467,"context_line":"\tt.m.Unlock()"},{"line_number":468,"context_line":"\tclose(ch)"},{"line_number":469,"context_line":"}"},{"line_number":470,"context_line":""},{"line_number":471,"context_line":"// ---------------------------------------------------------"}],"source_content_type":"text/x-go","patch_set":10,"id":"c27642b1_fdb85097","line":468,"in_reply_to":"9bcfa3da_00a409d3","updated":"2022-07-29 05:22:07.000000000","message":"Done","commit_id":"9a0f2aeedce7d5d52e04d63d2086355d8476795e"},{"author":{"_account_id":1003912,"name":"Sreekanth Sivasankaran","email":"sreekanth.sivasankaran@couchbase.com","username":"sreekanth-cb","avatars":[{"url":"https://www.gravatar.com/avatar/1cfa3f82174305fc7b07623866e0a72a.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/1cfa3f82174305fc7b07623866e0a72a.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/1cfa3f82174305fc7b07623866e0a72a.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/1cfa3f82174305fc7b07623866e0a72a.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"93773b9c8a1624c652b3c2efd57c43cffc0e3f02","unresolved":true,"context_lines":[{"line_number":2592,"context_line":""},{"line_number":2593,"context_line":"\t\tcase \u003c-tickerCh:"},{"line_number":2594,"context_line":"\t\t\tif targetBatch !\u003d nil {"},{"line_number":2595,"context_line":"\t\t\t\t// push to throttle channel"},{"line_number":2596,"context_line":"\t\t\t\t// everywhere executeBatch"},{"line_number":2597,"context_line":"\t\t\t\texecuteBatch(bdp, bdpMaxSeqNums, bindex, targetBatch)"},{"line_number":2598,"context_line":"\t\t\t\ttargetBatch \u003d nil"}],"source_content_type":"text/x-go","patch_set":10,"id":"3f8c1f1d_990fa826","line":2595,"updated":"2022-07-29 04:37:07.000000000","message":"stale comments?","commit_id":"9a0f2aeedce7d5d52e04d63d2086355d8476795e"},{"author":{"_account_id":1004875,"name":"Aditi Ahuja","email":"aditi.ahuja@couchbase.com","username":"metonymic-smokey","avatars":[{"url":"https://www.gravatar.com/avatar/d69696fe9a465a59dc6666b355fb6d71.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/d69696fe9a465a59dc6666b355fb6d71.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/d69696fe9a465a59dc6666b355fb6d71.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/d69696fe9a465a59dc6666b355fb6d71.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"324d00702e3d8086b0ff9798578a030fd40f09f0","unresolved":false,"context_lines":[{"line_number":2592,"context_line":""},{"line_number":2593,"context_line":"\t\tcase \u003c-tickerCh:"},{"line_number":2594,"context_line":"\t\t\tif targetBatch !\u003d nil {"},{"line_number":2595,"context_line":"\t\t\t\t// push to throttle channel"},{"line_number":2596,"context_line":"\t\t\t\t// everywhere executeBatch"},{"line_number":2597,"context_line":"\t\t\t\texecuteBatch(bdp, bdpMaxSeqNums, bindex, targetBatch)"},{"line_number":2598,"context_line":"\t\t\t\ttargetBatch \u003d nil"}],"source_content_type":"text/x-go","patch_set":10,"id":"6d2625d7_6fc2abc4","line":2595,"in_reply_to":"3f8c1f1d_990fa826","updated":"2022-07-29 04:42:08.000000000","message":"Done","commit_id":"9a0f2aeedce7d5d52e04d63d2086355d8476795e"},{"author":{"_account_id":1003912,"name":"Sreekanth Sivasankaran","email":"sreekanth.sivasankaran@couchbase.com","username":"sreekanth-cb","avatars":[{"url":"https://www.gravatar.com/avatar/1cfa3f82174305fc7b07623866e0a72a.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/1cfa3f82174305fc7b07623866e0a72a.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/1cfa3f82174305fc7b07623866e0a72a.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/1cfa3f82174305fc7b07623866e0a72a.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"93773b9c8a1624c652b3c2efd57c43cffc0e3f02","unresolved":true,"context_lines":[{"line_number":2635,"context_line":"\t\t\t\tbatch:         batch,"},{"line_number":2636,"context_line":"\t\t\t}"},{"line_number":2637,"context_line":"\t\t\tbdp[0].bdest.requestQueue \u003c- req"},{"line_number":2638,"context_line":"\t\t\tconsumer(bdp[0].bdest, bdp[0].bdest.sourceName)"},{"line_number":2639,"context_line":"\t\t}"},{"line_number":2640,"context_line":"\t}"},{"line_number":2641,"context_line":""}],"source_content_type":"text/x-go","patch_set":10,"id":"c0b9288c_032f3da9","line":2638,"updated":"2022-07-29 04:37:07.000000000","message":"hm.. i think the current model is wrong?\nSingle buffered channel here and its consumed by multiple workers. Each of the workers might get different responses from the regulator and that can cause disordering of execute requests from the channel as other workers could read the front of the channel to get an executeRequest from a diff worker.\n\nShould we need the req channel now? Can\u0027t we just pass the req to the consumer func?","commit_id":"9a0f2aeedce7d5d52e04d63d2086355d8476795e"},{"author":{"_account_id":1004875,"name":"Aditi Ahuja","email":"aditi.ahuja@couchbase.com","username":"metonymic-smokey","avatars":[{"url":"https://www.gravatar.com/avatar/d69696fe9a465a59dc6666b355fb6d71.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/d69696fe9a465a59dc6666b355fb6d71.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/d69696fe9a465a59dc6666b355fb6d71.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/d69696fe9a465a59dc6666b355fb6d71.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"dd4c78e6eaf1be0eee8b9e28f63e2640032f563c","unresolved":false,"context_lines":[{"line_number":2635,"context_line":"\t\t\t\tbatch:         batch,"},{"line_number":2636,"context_line":"\t\t\t}"},{"line_number":2637,"context_line":"\t\t\tbdp[0].bdest.requestQueue \u003c- req"},{"line_number":2638,"context_line":"\t\t\tconsumer(bdp[0].bdest, bdp[0].bdest.sourceName)"},{"line_number":2639,"context_line":"\t\t}"},{"line_number":2640,"context_line":"\t}"},{"line_number":2641,"context_line":""}],"source_content_type":"text/x-go","patch_set":10,"id":"ed3d243b_66db44a5","line":2638,"in_reply_to":"793b3bc7_80d3af64","updated":"2022-08-01 10:33:08.000000000","message":"Done","commit_id":"9a0f2aeedce7d5d52e04d63d2086355d8476795e"},{"author":{"_account_id":1004875,"name":"Aditi Ahuja","email":"aditi.ahuja@couchbase.com","username":"metonymic-smokey","avatars":[{"url":"https://www.gravatar.com/avatar/d69696fe9a465a59dc6666b355fb6d71.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/d69696fe9a465a59dc6666b355fb6d71.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/d69696fe9a465a59dc6666b355fb6d71.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/d69696fe9a465a59dc6666b355fb6d71.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"305704749fbdfe7f115c649fb0567e2b3d3d7dcb","unresolved":true,"context_lines":[{"line_number":2635,"context_line":"\t\t\t\tbatch:         batch,"},{"line_number":2636,"context_line":"\t\t\t}"},{"line_number":2637,"context_line":"\t\t\tbdp[0].bdest.requestQueue \u003c- req"},{"line_number":2638,"context_line":"\t\t\tconsumer(bdp[0].bdest, bdp[0].bdest.sourceName)"},{"line_number":2639,"context_line":"\t\t}"},{"line_number":2640,"context_line":"\t}"},{"line_number":2641,"context_line":""}],"source_content_type":"text/x-go","patch_set":10,"id":"793b3bc7_80d3af64","line":2638,"in_reply_to":"c0b9288c_032f3da9","updated":"2022-07-29 05:22:07.000000000","message":"Thanks!\nPushed a patch which removes the channel.","commit_id":"9a0f2aeedce7d5d52e04d63d2086355d8476795e"},{"author":{"_account_id":1000338,"name":"Abhi Dangeti","email":"abhinav@couchbase.com","username":"abhinavdangeti","avatars":[{"url":"https://www.gravatar.com/avatar/9007099855b1bf7d96e9c1a10bc9542e.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/9007099855b1bf7d96e9c1a10bc9542e.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/9007099855b1bf7d96e9c1a10bc9542e.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/9007099855b1bf7d96e9c1a10bc9542e.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"0929036800b00a245200f2f8b7fc249650879edf","unresolved":true,"context_lines":[{"line_number":2624,"context_line":"\tMeterWrites(bdp[0].bdest.sourceName, index)"},{"line_number":2625,"context_line":"}"},{"line_number":2626,"context_line":""},{"line_number":2627,"context_line":"func consumer(req executeRequest) {"},{"line_number":2628,"context_line":"\t// Should return -1 when regulator returns CheckResultNormal(since no further progress can be made)."},{"line_number":2629,"context_line":"\t// For CheckResultThrottle/Reject, should return 1 since that indicates that further progress is required."},{"line_number":2630,"context_line":"\ttemp :\u003d CheckResultNormal"}],"source_content_type":"text/x-go","patch_set":12,"id":"baf05835_afdb60ea","line":2627,"updated":"2022-07-29 16:29:47.000000000","message":"Better name for this method perhaps. Say regulateAndExecute(..) or something better?","commit_id":"7dbd7faaae2f9b971b70d78c340f8384ba2bf9d4"},{"author":{"_account_id":1004875,"name":"Aditi Ahuja","email":"aditi.ahuja@couchbase.com","username":"metonymic-smokey","avatars":[{"url":"https://www.gravatar.com/avatar/d69696fe9a465a59dc6666b355fb6d71.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/d69696fe9a465a59dc6666b355fb6d71.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/d69696fe9a465a59dc6666b355fb6d71.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/d69696fe9a465a59dc6666b355fb6d71.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"4b6799c947e59b2d1dd97abb7ec8480a100ca2e6","unresolved":false,"context_lines":[{"line_number":2624,"context_line":"\tMeterWrites(bdp[0].bdest.sourceName, index)"},{"line_number":2625,"context_line":"}"},{"line_number":2626,"context_line":""},{"line_number":2627,"context_line":"func consumer(req executeRequest) {"},{"line_number":2628,"context_line":"\t// Should return -1 when regulator returns CheckResultNormal(since no further progress can be made)."},{"line_number":2629,"context_line":"\t// For CheckResultThrottle/Reject, should return 1 since that indicates that further progress is required."},{"line_number":2630,"context_line":"\ttemp :\u003d CheckResultNormal"}],"source_content_type":"text/x-go","patch_set":12,"id":"c116052c_f26650f8","line":2627,"in_reply_to":"baf05835_afdb60ea","updated":"2022-08-01 05:38:02.000000000","message":"Done","commit_id":"7dbd7faaae2f9b971b70d78c340f8384ba2bf9d4"},{"author":{"_account_id":1000338,"name":"Abhi Dangeti","email":"abhinav@couchbase.com","username":"abhinavdangeti","avatars":[{"url":"https://www.gravatar.com/avatar/9007099855b1bf7d96e9c1a10bc9542e.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/9007099855b1bf7d96e9c1a10bc9542e.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/9007099855b1bf7d96e9c1a10bc9542e.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/9007099855b1bf7d96e9c1a10bc9542e.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"0929036800b00a245200f2f8b7fc249650879edf","unresolved":true,"context_lines":[{"line_number":2626,"context_line":""},{"line_number":2627,"context_line":"func consumer(req executeRequest) {"},{"line_number":2628,"context_line":"\t// Should return -1 when regulator returns CheckResultNormal(since no further progress can be made)."},{"line_number":2629,"context_line":"\t// For CheckResultThrottle/Reject, should return 1 since that indicates that further progress is required."},{"line_number":2630,"context_line":"\ttemp :\u003d CheckResultNormal"},{"line_number":2631,"context_line":"\taction :\u003d \u0026temp"},{"line_number":2632,"context_line":"\t// pointer to action so that the value can be checked from within cbft as well."}],"source_content_type":"text/x-go","patch_set":12,"id":"850db84e_c28cbd4b","line":2629,"updated":"2022-07-29 16:29:47.000000000","message":"Wrap the above 2 lines to shorter lengths will you.","commit_id":"7dbd7faaae2f9b971b70d78c340f8384ba2bf9d4"},{"author":{"_account_id":1004875,"name":"Aditi Ahuja","email":"aditi.ahuja@couchbase.com","username":"metonymic-smokey","avatars":[{"url":"https://www.gravatar.com/avatar/d69696fe9a465a59dc6666b355fb6d71.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/d69696fe9a465a59dc6666b355fb6d71.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/d69696fe9a465a59dc6666b355fb6d71.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/d69696fe9a465a59dc6666b355fb6d71.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"4b6799c947e59b2d1dd97abb7ec8480a100ca2e6","unresolved":false,"context_lines":[{"line_number":2626,"context_line":""},{"line_number":2627,"context_line":"func consumer(req executeRequest) {"},{"line_number":2628,"context_line":"\t// Should return -1 when regulator returns CheckResultNormal(since no further progress can be made)."},{"line_number":2629,"context_line":"\t// For CheckResultThrottle/Reject, should return 1 since that indicates that further progress is required."},{"line_number":2630,"context_line":"\ttemp :\u003d CheckResultNormal"},{"line_number":2631,"context_line":"\taction :\u003d \u0026temp"},{"line_number":2632,"context_line":"\t// pointer to action so that the value can be checked from within cbft as well."}],"source_content_type":"text/x-go","patch_set":12,"id":"b2641867_c1645127","line":2629,"in_reply_to":"850db84e_c28cbd4b","updated":"2022-08-01 05:38:02.000000000","message":"Done","commit_id":"7dbd7faaae2f9b971b70d78c340f8384ba2bf9d4"},{"author":{"_account_id":1000338,"name":"Abhi Dangeti","email":"abhinav@couchbase.com","username":"abhinavdangeti","avatars":[{"url":"https://www.gravatar.com/avatar/9007099855b1bf7d96e9c1a10bc9542e.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/9007099855b1bf7d96e9c1a10bc9542e.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/9007099855b1bf7d96e9c1a10bc9542e.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/9007099855b1bf7d96e9c1a10bc9542e.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"0929036800b00a245200f2f8b7fc249650879edf","unresolved":true,"context_lines":[{"line_number":2632,"context_line":"\t// pointer to action so that the value can be checked from within cbft as well."},{"line_number":2633,"context_line":""},{"line_number":2634,"context_line":"\ttempDur :\u003d time.Duration(1 * time.Second)"},{"line_number":2635,"context_line":"\tduration :\u003d \u0026tempDur"},{"line_number":2636,"context_line":""},{"line_number":2637,"context_line":"\tcheckQuotaExponentialBackoff :\u003d func() int {"},{"line_number":2638,"context_line":"\t\tvar err error"}],"source_content_type":"text/x-go","patch_set":12,"id":"3de8afa2_55e2d08d","line":2635,"updated":"2022-07-29 16:29:47.000000000","message":"What\u0027s the purpose to initializing duration to 1s here? It seems to be overwritten below anyway.","commit_id":"7dbd7faaae2f9b971b70d78c340f8384ba2bf9d4"},{"author":{"_account_id":1004875,"name":"Aditi Ahuja","email":"aditi.ahuja@couchbase.com","username":"metonymic-smokey","avatars":[{"url":"https://www.gravatar.com/avatar/d69696fe9a465a59dc6666b355fb6d71.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/d69696fe9a465a59dc6666b355fb6d71.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/d69696fe9a465a59dc6666b355fb6d71.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/d69696fe9a465a59dc6666b355fb6d71.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"3cbbe9dc24c0586fedd11e2427016f679d115c12","unresolved":false,"context_lines":[{"line_number":2632,"context_line":"\t// pointer to action so that the value can be checked from within cbft as well."},{"line_number":2633,"context_line":""},{"line_number":2634,"context_line":"\ttempDur :\u003d time.Duration(1 * time.Second)"},{"line_number":2635,"context_line":"\tduration :\u003d \u0026tempDur"},{"line_number":2636,"context_line":""},{"line_number":2637,"context_line":"\tcheckQuotaExponentialBackoff :\u003d func() int {"},{"line_number":2638,"context_line":"\t\tvar err error"}],"source_content_type":"text/x-go","patch_set":12,"id":"cf1d89fd_27fce63b","line":2635,"in_reply_to":"3de8afa2_55e2d08d","updated":"2022-08-01 06:15:42.000000000","message":"@Abhi, earlier I was facing some issues changing `action` and `duration` pointers without these temp variables.\nI\u0027ve changed my approach now and removed those variables.\nThanks!","commit_id":"7dbd7faaae2f9b971b70d78c340f8384ba2bf9d4"},{"author":{"_account_id":1000338,"name":"Abhi Dangeti","email":"abhinav@couchbase.com","username":"abhinavdangeti","avatars":[{"url":"https://www.gravatar.com/avatar/9007099855b1bf7d96e9c1a10bc9542e.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/9007099855b1bf7d96e9c1a10bc9542e.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/9007099855b1bf7d96e9c1a10bc9542e.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/9007099855b1bf7d96e9c1a10bc9542e.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"0929036800b00a245200f2f8b7fc249650879edf","unresolved":true,"context_lines":[{"line_number":2676,"context_line":"\t\t\t\t// If the request is still limited after the exponential backoff, accept it."},{"line_number":2677,"context_line":"\t\t\t}"},{"line_number":2678,"context_line":""},{"line_number":2679,"context_line":"\t\tcase CheckResultError:"},{"line_number":2680,"context_line":"\t\t\tlog.Printf(\"limiting/throttling: failed to regulate the request: %v\", err)"},{"line_number":2681,"context_line":"\t\t\treturn"},{"line_number":2682,"context_line":"\t\t}"}],"source_content_type":"text/x-go","patch_set":12,"id":"1108b118_cea3a2ae","line":2679,"updated":"2022-07-29 16:29:47.000000000","message":"Don\u0027t think we want to return here and abandon the batch (which could cause inconsistency) just because the regulator says so yes? \n\nLogging the error makes sense but we should still execute this batch I think.","commit_id":"7dbd7faaae2f9b971b70d78c340f8384ba2bf9d4"},{"author":{"_account_id":1004875,"name":"Aditi Ahuja","email":"aditi.ahuja@couchbase.com","username":"metonymic-smokey","avatars":[{"url":"https://www.gravatar.com/avatar/d69696fe9a465a59dc6666b355fb6d71.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/d69696fe9a465a59dc6666b355fb6d71.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/d69696fe9a465a59dc6666b355fb6d71.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/d69696fe9a465a59dc6666b355fb6d71.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"4b6799c947e59b2d1dd97abb7ec8480a100ca2e6","unresolved":false,"context_lines":[{"line_number":2676,"context_line":"\t\t\t\t// If the request is still limited after the exponential backoff, accept it."},{"line_number":2677,"context_line":"\t\t\t}"},{"line_number":2678,"context_line":""},{"line_number":2679,"context_line":"\t\tcase CheckResultError:"},{"line_number":2680,"context_line":"\t\t\tlog.Printf(\"limiting/throttling: failed to regulate the request: %v\", err)"},{"line_number":2681,"context_line":"\t\t\treturn"},{"line_number":2682,"context_line":"\t\t}"}],"source_content_type":"text/x-go","patch_set":12,"id":"2884788e_10bf0bc3","line":2679,"in_reply_to":"1108b118_cea3a2ae","updated":"2022-08-01 05:38:02.000000000","message":"Done","commit_id":"7dbd7faaae2f9b971b70d78c340f8384ba2bf9d4"},{"author":{"_account_id":1003912,"name":"Sreekanth Sivasankaran","email":"sreekanth.sivasankaran@couchbase.com","username":"sreekanth-cb","avatars":[{"url":"https://www.gravatar.com/avatar/1cfa3f82174305fc7b07623866e0a72a.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/1cfa3f82174305fc7b07623866e0a72a.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/1cfa3f82174305fc7b07623866e0a72a.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/1cfa3f82174305fc7b07623866e0a72a.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"d096baebfdd3caee14bfdcc3ca591aec29c5da46","unresolved":true,"context_lines":[{"line_number":2614,"context_line":"func regulateAndExecute(bdp []*BleveDestPartition, bdpMaxSeqNums []uint64,"},{"line_number":2615,"context_line":"\tindex bleve.Index, batch *bleve.Batch) {"},{"line_number":2616,"context_line":"\taction :\u003d new(CheckResult) // pointer to 0-valued CheckResult."},{"line_number":2617,"context_line":"\t// action is a pointer so that the value can be checked from within cbft as well."},{"line_number":2618,"context_line":""},{"line_number":2619,"context_line":"\tduration :\u003d new(time.Duration) // pointer to time.Duration value of 0s."},{"line_number":2620,"context_line":""}],"source_content_type":"text/x-go","patch_set":15,"id":"d00de101_6ea8f97f","line":2617,"updated":"2022-08-01 10:21:21.000000000","message":"what does this comment mean? this code is in cbft ..","commit_id":"ba470909f1bbfc8fff3c93f9f209ef6816623c3f"},{"author":{"_account_id":1004875,"name":"Aditi Ahuja","email":"aditi.ahuja@couchbase.com","username":"metonymic-smokey","avatars":[{"url":"https://www.gravatar.com/avatar/d69696fe9a465a59dc6666b355fb6d71.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/d69696fe9a465a59dc6666b355fb6d71.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/d69696fe9a465a59dc6666b355fb6d71.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/d69696fe9a465a59dc6666b355fb6d71.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"ab8d736f5950afa4efda82745a23884dbce33b6d","unresolved":false,"context_lines":[{"line_number":2614,"context_line":"func regulateAndExecute(bdp []*BleveDestPartition, bdpMaxSeqNums []uint64,"},{"line_number":2615,"context_line":"\tindex bleve.Index, batch *bleve.Batch) {"},{"line_number":2616,"context_line":"\taction :\u003d new(CheckResult) // pointer to 0-valued CheckResult."},{"line_number":2617,"context_line":"\t// action is a pointer so that the value can be checked from within cbft as well."},{"line_number":2618,"context_line":""},{"line_number":2619,"context_line":"\tduration :\u003d new(time.Duration) // pointer to time.Duration value of 0s."},{"line_number":2620,"context_line":""}],"source_content_type":"text/x-go","patch_set":15,"id":"0568fbfc_29d5b1e7","line":2617,"in_reply_to":"d00de101_6ea8f97f","updated":"2022-08-01 10:32:51.000000000","message":"Done","commit_id":"ba470909f1bbfc8fff3c93f9f209ef6816623c3f"},{"author":{"_account_id":1003912,"name":"Sreekanth Sivasankaran","email":"sreekanth.sivasankaran@couchbase.com","username":"sreekanth-cb","avatars":[{"url":"https://www.gravatar.com/avatar/1cfa3f82174305fc7b07623866e0a72a.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/1cfa3f82174305fc7b07623866e0a72a.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/1cfa3f82174305fc7b07623866e0a72a.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/1cfa3f82174305fc7b07623866e0a72a.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"d096baebfdd3caee14bfdcc3ca591aec29c5da46","unresolved":true,"context_lines":[{"line_number":2616,"context_line":"\taction :\u003d new(CheckResult) // pointer to 0-valued CheckResult."},{"line_number":2617,"context_line":"\t// action is a pointer so that the value can be checked from within cbft as well."},{"line_number":2618,"context_line":""},{"line_number":2619,"context_line":"\tduration :\u003d new(time.Duration) // pointer to time.Duration value of 0s."},{"line_number":2620,"context_line":""},{"line_number":2621,"context_line":"\t// Should return -1 when regulator returns CheckResultNormal"},{"line_number":2622,"context_line":"\t// since no further progress can be made."}],"source_content_type":"text/x-go","patch_set":15,"id":"5022c431_2bdafe73","line":2619,"updated":"2022-08-01 10:21:21.000000000","message":"var duration *time.Duration won\u0027t work here?","commit_id":"ba470909f1bbfc8fff3c93f9f209ef6816623c3f"},{"author":{"_account_id":1004875,"name":"Aditi Ahuja","email":"aditi.ahuja@couchbase.com","username":"metonymic-smokey","avatars":[{"url":"https://www.gravatar.com/avatar/d69696fe9a465a59dc6666b355fb6d71.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/d69696fe9a465a59dc6666b355fb6d71.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/d69696fe9a465a59dc6666b355fb6d71.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/d69696fe9a465a59dc6666b355fb6d71.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"29aa8c11a7ddd8cc1dfe91a96f9650b7f0d7f3d6","unresolved":false,"context_lines":[{"line_number":2616,"context_line":"\taction :\u003d new(CheckResult) // pointer to 0-valued CheckResult."},{"line_number":2617,"context_line":"\t// action is a pointer so that the value can be checked from within cbft as well."},{"line_number":2618,"context_line":""},{"line_number":2619,"context_line":"\tduration :\u003d new(time.Duration) // pointer to time.Duration value of 0s."},{"line_number":2620,"context_line":""},{"line_number":2621,"context_line":"\t// Should return -1 when regulator returns CheckResultNormal"},{"line_number":2622,"context_line":"\t// since no further progress can be made."}],"source_content_type":"text/x-go","patch_set":15,"id":"ae4d81d0_ceff406f","line":2619,"in_reply_to":"5022c431_2bdafe73","updated":"2022-08-01 10:54:50.000000000","message":"Changed it by removing the pointers for both action and duration.","commit_id":"ba470909f1bbfc8fff3c93f9f209ef6816623c3f"},{"author":{"_account_id":1003912,"name":"Sreekanth Sivasankaran","email":"sreekanth.sivasankaran@couchbase.com","username":"sreekanth-cb","avatars":[{"url":"https://www.gravatar.com/avatar/1cfa3f82174305fc7b07623866e0a72a.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/1cfa3f82174305fc7b07623866e0a72a.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/1cfa3f82174305fc7b07623866e0a72a.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/1cfa3f82174305fc7b07623866e0a72a.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"d096baebfdd3caee14bfdcc3ca591aec29c5da46","unresolved":true,"context_lines":[{"line_number":2638,"context_line":""},{"line_number":2639,"context_line":"\tvar err error"},{"line_number":2640,"context_line":"\t*action, *duration, err \u003d CheckQuotaWrite(bdp[0].bdest.sourceName, \"\", nil)"},{"line_number":2641,"context_line":"\t// only the bucket name(source) matters when checking quota"},{"line_number":2642,"context_line":"\t// each request in the channel will have the same bucket name"},{"line_number":2643,"context_line":""},{"line_number":2644,"context_line":"\tfor {"}],"source_content_type":"text/x-go","patch_set":15,"id":"7f9dfd56_b0793071","line":2641,"updated":"2022-08-01 10:21:21.000000000","message":"stale comments below.. perhaps the whole comment is self explanatory.","commit_id":"ba470909f1bbfc8fff3c93f9f209ef6816623c3f"},{"author":{"_account_id":1004875,"name":"Aditi Ahuja","email":"aditi.ahuja@couchbase.com","username":"metonymic-smokey","avatars":[{"url":"https://www.gravatar.com/avatar/d69696fe9a465a59dc6666b355fb6d71.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/d69696fe9a465a59dc6666b355fb6d71.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/d69696fe9a465a59dc6666b355fb6d71.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/d69696fe9a465a59dc6666b355fb6d71.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"ab8d736f5950afa4efda82745a23884dbce33b6d","unresolved":false,"context_lines":[{"line_number":2638,"context_line":""},{"line_number":2639,"context_line":"\tvar err error"},{"line_number":2640,"context_line":"\t*action, *duration, err \u003d CheckQuotaWrite(bdp[0].bdest.sourceName, \"\", nil)"},{"line_number":2641,"context_line":"\t// only the bucket name(source) matters when checking quota"},{"line_number":2642,"context_line":"\t// each request in the channel will have the same bucket name"},{"line_number":2643,"context_line":""},{"line_number":2644,"context_line":"\tfor {"}],"source_content_type":"text/x-go","patch_set":15,"id":"070f51da_7581a0e2","line":2641,"in_reply_to":"7f9dfd56_b0793071","updated":"2022-08-01 10:32:51.000000000","message":"Done","commit_id":"ba470909f1bbfc8fff3c93f9f209ef6816623c3f"},{"author":{"_account_id":1003912,"name":"Sreekanth Sivasankaran","email":"sreekanth.sivasankaran@couchbase.com","username":"sreekanth-cb","avatars":[{"url":"https://www.gravatar.com/avatar/1cfa3f82174305fc7b07623866e0a72a.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/1cfa3f82174305fc7b07623866e0a72a.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/1cfa3f82174305fc7b07623866e0a72a.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/1cfa3f82174305fc7b07623866e0a72a.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"d096baebfdd3caee14bfdcc3ca591aec29c5da46","unresolved":true,"context_lines":[{"line_number":2647,"context_line":"\t\t\t_, err \u003d execute(bdp, bdpMaxSeqNums, index, batch)"},{"line_number":2648,"context_line":"\t\t\tif err !\u003d nil {"},{"line_number":2649,"context_line":"\t\t\t\tbdp[0].setLastAsyncBatchErr(err)"},{"line_number":2650,"context_line":"\t\t\t\treturn"},{"line_number":2651,"context_line":"\t\t\t}"},{"line_number":2652,"context_line":"\t\t\treturn"},{"line_number":2653,"context_line":""}],"source_content_type":"text/x-go","patch_set":15,"id":"da315514_d742662f","line":2650,"updated":"2022-08-01 10:21:21.000000000","message":"no need of this return?","commit_id":"ba470909f1bbfc8fff3c93f9f209ef6816623c3f"},{"author":{"_account_id":1004875,"name":"Aditi Ahuja","email":"aditi.ahuja@couchbase.com","username":"metonymic-smokey","avatars":[{"url":"https://www.gravatar.com/avatar/d69696fe9a465a59dc6666b355fb6d71.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/d69696fe9a465a59dc6666b355fb6d71.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/d69696fe9a465a59dc6666b355fb6d71.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/d69696fe9a465a59dc6666b355fb6d71.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"ab8d736f5950afa4efda82745a23884dbce33b6d","unresolved":false,"context_lines":[{"line_number":2647,"context_line":"\t\t\t_, err \u003d execute(bdp, bdpMaxSeqNums, index, batch)"},{"line_number":2648,"context_line":"\t\t\tif err !\u003d nil {"},{"line_number":2649,"context_line":"\t\t\t\tbdp[0].setLastAsyncBatchErr(err)"},{"line_number":2650,"context_line":"\t\t\t\treturn"},{"line_number":2651,"context_line":"\t\t\t}"},{"line_number":2652,"context_line":"\t\t\treturn"},{"line_number":2653,"context_line":""}],"source_content_type":"text/x-go","patch_set":15,"id":"7299ded7_22a92c65","line":2650,"in_reply_to":"da315514_d742662f","updated":"2022-08-01 10:32:51.000000000","message":"Done","commit_id":"ba470909f1bbfc8fff3c93f9f209ef6816623c3f"},{"author":{"_account_id":1003912,"name":"Sreekanth Sivasankaran","email":"sreekanth.sivasankaran@couchbase.com","username":"sreekanth-cb","avatars":[{"url":"https://www.gravatar.com/avatar/1cfa3f82174305fc7b07623866e0a72a.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/1cfa3f82174305fc7b07623866e0a72a.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/1cfa3f82174305fc7b07623866e0a72a.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/1cfa3f82174305fc7b07623866e0a72a.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"d096baebfdd3caee14bfdcc3ca591aec29c5da46","unresolved":true,"context_lines":[{"line_number":2661,"context_line":"\t\t\t\tint(200*time.Millisecond), 2, int(30*time.Second))"},{"line_number":2662,"context_line":"\t\t\tif *action \u003d\u003d CheckResultReject {"},{"line_number":2663,"context_line":"\t\t\t\t*action \u003d CheckResultNormal"},{"line_number":2664,"context_line":"\t\t\t\t// If the request is still limited after the exponential backoff, accept it."},{"line_number":2665,"context_line":"\t\t\t}"},{"line_number":2666,"context_line":""},{"line_number":2667,"context_line":"\t\tcase CheckResultError:"}],"source_content_type":"text/x-go","patch_set":15,"id":"c02c7d43_2bcefd25","line":2664,"updated":"2022-08-01 10:21:21.000000000","message":"comments are usually before code stmts, not after?","commit_id":"ba470909f1bbfc8fff3c93f9f209ef6816623c3f"},{"author":{"_account_id":1004875,"name":"Aditi Ahuja","email":"aditi.ahuja@couchbase.com","username":"metonymic-smokey","avatars":[{"url":"https://www.gravatar.com/avatar/d69696fe9a465a59dc6666b355fb6d71.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/d69696fe9a465a59dc6666b355fb6d71.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/d69696fe9a465a59dc6666b355fb6d71.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/d69696fe9a465a59dc6666b355fb6d71.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"ab8d736f5950afa4efda82745a23884dbce33b6d","unresolved":false,"context_lines":[{"line_number":2661,"context_line":"\t\t\t\tint(200*time.Millisecond), 2, int(30*time.Second))"},{"line_number":2662,"context_line":"\t\t\tif *action \u003d\u003d CheckResultReject {"},{"line_number":2663,"context_line":"\t\t\t\t*action \u003d CheckResultNormal"},{"line_number":2664,"context_line":"\t\t\t\t// If the request is still limited after the exponential backoff, accept it."},{"line_number":2665,"context_line":"\t\t\t}"},{"line_number":2666,"context_line":""},{"line_number":2667,"context_line":"\t\tcase CheckResultError:"}],"source_content_type":"text/x-go","patch_set":15,"id":"e70946f5_f45bd879","line":2664,"in_reply_to":"c02c7d43_2bcefd25","updated":"2022-08-01 10:32:51.000000000","message":"Done","commit_id":"ba470909f1bbfc8fff3c93f9f209ef6816623c3f"}]}
