Adar Dembo has posted comments on this change. ( http://gerrit.cloudera.org:8080/14849 )
Change subject: KUDU-2992: Avoid sending duplicated requests in catalog_manager ...................................................................... Patch Set 3: (2 comments) Still hoping you can add a test that shows the fix in action. http://gerrit.cloudera.org:8080/#/c/14849/3/src/kudu/master/catalog_manager.h File src/kudu/master/catalog_manager.h: http://gerrit.cloudera.org:8080/#/c/14849/3/src/kudu/master/catalog_manager.h@373 PS3, Line 373: std::unordered_multimap<std::string, scoped_refptr<MonitoredTask> > pending_tasks_; You can do >> in C++11 (previous versions of C++ required a space between the triangular brackets or they wouldn't parse). http://gerrit.cloudera.org:8080/#/c/14849/2/src/kudu/master/catalog_manager.cc File src/kudu/master/catalog_manager.cc: http://gerrit.cloudera.org:8080/#/c/14849/2/src/kudu/master/catalog_manager.cc@5531 PS2, Line 5531: void TableInfo::WaitTasksCompletion() { : int wait_time = 5; : while (1) { Isn't this still a valid concern? That is, if the last ref to the TableInfo is in 'task', and pending_tasks_.erase() deletes the last ref to 'task', won't that cause 'this' to be deleted and the destructor call of 'l' to access freed memory? -- To view, visit http://gerrit.cloudera.org:8080/14849 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: If090723821bd78e14a3c54a35cb5e471320002e9 Gerrit-Change-Number: 14849 Gerrit-PatchSet: 3 Gerrit-Owner: Yifan Zhang <[email protected]> Gerrit-Reviewer: Adar Dembo <[email protected]> Gerrit-Reviewer: Kudu Jenkins (120) Gerrit-Reviewer: Yifan Zhang <[email protected]> Gerrit-Comment-Date: Tue, 10 Dec 2019 19:15:01 +0000 Gerrit-HasComments: Yes
