)]}'
{"/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":"6583721bc0394f8bcdb4eb82976d79d38e41d7d6","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":3,"id":"b12c39dd_7304ff31","updated":"2022-10-10 15:50:18.000000000","message":"@Thejas I\u0027d also recommend checking all these throttling paths for any other bottlenecks in light of MB-54071","commit_id":"598a90f80871eae480c5ac88cfe6031e7a0d876e"}],"limits.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":"cff9c1f7650888da424690112446fbe9e6190363","unresolved":true,"context_lines":[{"line_number":584,"context_line":"\t} else if action \u003d\u003d CheckResultError || action \u003d\u003d CheckAccessError {"},{"line_number":585,"context_line":"\t\treturn false, fmt.Sprintf(\"limiting/throttling: failed to regulate the \"+"},{"line_number":586,"context_line":"\t\t\t\"request err: %v\", err)"},{"line_number":587,"context_line":"\t}"},{"line_number":588,"context_line":"\treturn true, \"\""},{"line_number":589,"context_line":"}"},{"line_number":590,"context_line":""}],"source_content_type":"text/x-go","patch_set":2,"id":"9075e153_2036ca14","line":587,"updated":"2022-10-06 20:21:08.000000000","message":"switch-case would look cleaner ..\n\n  switch action {\n  case CheckResultReject, CheckResultThrottle, CheckAccessNoIngress:\n      ...\n  case CheckResultError, CheckAccessError:\n      ...\n  default:\n      break\n  }","commit_id":"78298cc3c8dc607d8dd758a7fa6a817d38b39728"},{"author":{"_account_id":1004804,"name":"Thejas-bhat","email":"thejas.orkombu@couchbase.com","username":"Thejas-bhat","avatars":[{"url":"https://www.gravatar.com/avatar/287cbc76d9eb75d794779bc8ce9efb8b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/287cbc76d9eb75d794779bc8ce9efb8b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/287cbc76d9eb75d794779bc8ce9efb8b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/287cbc76d9eb75d794779bc8ce9efb8b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"1146f3f4e88e2c577158977bb3d6f82a1076694e","unresolved":false,"context_lines":[{"line_number":584,"context_line":"\t} else if action \u003d\u003d CheckResultError || action \u003d\u003d CheckAccessError {"},{"line_number":585,"context_line":"\t\treturn false, fmt.Sprintf(\"limiting/throttling: failed to regulate the \"+"},{"line_number":586,"context_line":"\t\t\t\"request err: %v\", err)"},{"line_number":587,"context_line":"\t}"},{"line_number":588,"context_line":"\treturn true, \"\""},{"line_number":589,"context_line":"}"},{"line_number":590,"context_line":""}],"source_content_type":"text/x-go","patch_set":2,"id":"5cc5d0db_8e7311b9","line":587,"in_reply_to":"9075e153_2036ca14","updated":"2022-10-10 14:27:57.000000000","message":"Done","commit_id":"78298cc3c8dc607d8dd758a7fa6a817d38b39728"}],"metering_ee.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":"cff9c1f7650888da424690112446fbe9e6190363","unresolved":true,"context_lines":[{"line_number":403,"context_line":"\t\tEstimatedUnits:    []regulator.Units{estimatedUnits},"},{"line_number":404,"context_line":"\t}"},{"line_number":405,"context_line":"\tif reg.stats[bucket] \u003d\u003d nil {"},{"line_number":406,"context_line":"\t\treg.m.Lock()"},{"line_number":407,"context_line":"\t\treg.stats[bucket] \u003d \u0026regulatorStats{}"},{"line_number":408,"context_line":"\t\treg.m.Unlock()"},{"line_number":409,"context_line":"\t}"}],"source_content_type":"text/x-go","patch_set":2,"id":"f8fd793c_5eb8a5de","line":406,"updated":"2022-10-06 20:21:08.000000000","message":"You accessing the map outside the lock (even the nil check) is still a bit race-y, no?","commit_id":"78298cc3c8dc607d8dd758a7fa6a817d38b39728"},{"author":{"_account_id":1004804,"name":"Thejas-bhat","email":"thejas.orkombu@couchbase.com","username":"Thejas-bhat","avatars":[{"url":"https://www.gravatar.com/avatar/287cbc76d9eb75d794779bc8ce9efb8b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/287cbc76d9eb75d794779bc8ce9efb8b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/287cbc76d9eb75d794779bc8ce9efb8b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/287cbc76d9eb75d794779bc8ce9efb8b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"1146f3f4e88e2c577158977bb3d6f82a1076694e","unresolved":false,"context_lines":[{"line_number":403,"context_line":"\t\tEstimatedUnits:    []regulator.Units{estimatedUnits},"},{"line_number":404,"context_line":"\t}"},{"line_number":405,"context_line":"\tif reg.stats[bucket] \u003d\u003d nil {"},{"line_number":406,"context_line":"\t\treg.m.Lock()"},{"line_number":407,"context_line":"\t\treg.stats[bucket] \u003d \u0026regulatorStats{}"},{"line_number":408,"context_line":"\t\treg.m.Unlock()"},{"line_number":409,"context_line":"\t}"}],"source_content_type":"text/x-go","patch_set":2,"id":"bff349bc_4a7f78d3","line":406,"in_reply_to":"f8fd793c_5eb8a5de","updated":"2022-10-10 14:27:57.000000000","message":"Done","commit_id":"78298cc3c8dc607d8dd758a7fa6a817d38b39728"},{"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":"d63932271446c2632628f8e1ec21883e716e99bf","unresolved":true,"context_lines":[{"line_number":526,"context_line":"\t\tEstimatedUnits:    []regulator.Units{estimatedUnits},"},{"line_number":527,"context_line":"\t}"},{"line_number":528,"context_line":""},{"line_number":529,"context_line":"\treg.m.Lock()"},{"line_number":530,"context_line":"\tif reg.stats[bucket] \u003d\u003d nil {"},{"line_number":531,"context_line":"\t\treg.stats[bucket] \u003d \u0026regulatorStats{}"},{"line_number":532,"context_line":"\t}"}],"source_content_type":"text/x-go","patch_set":3,"id":"bdd4b2fd_21873b99","line":529,"updated":"2022-10-10 15:41:18.000000000","message":"This would significantly bottle-neck reads (and same for writes in CheckQuoteWrite).\n\nI propose taking advantage of the RWLock to do this instead -\n\n    reg.m.RLock()\n    if reg.stats[bucket] \u003d\u003d nil {\n        reg.m.RUnlock()\n        reg.m.Lock()\n        if reg.stats[bucket] \u003d\u003d nil {\n            reg.stats[bucket] \u003d \u0026regulatorStats{}\n        }\n        reg.m.Unlock()\n    }\n    reg.m.RUnlock()\n    \nPerhaps move this into a separate method. Thoughts?","commit_id":"598a90f80871eae480c5ac88cfe6031e7a0d876e"}]}
