Todd Lipcon has submitted this change and it was merged. Change subject: KUDU-1125 (part 1) catalog_manager: try to avoid unnecessarily rewriting tablet info ......................................................................
KUDU-1125 (part 1) catalog_manager: try to avoid unnecessarily rewriting tablet info This adds some checks in SysCatalogTable so that, if the updated version of a catalog table entry is identical to the previous version, we avoid writing anything to the table. This is a simple way of short-circuiting a common case of unnecessary slowness in tablet report processing. For example, when the master restarts or fails over, all of the tablet servers perform a full tablet report. However, most of the tablets will not have changed any information since their prior report, in which case the writes can be safely skipped on the master. This doesn't achieve all of the goals of KUDU-1125 (we still do separate sync writes for each _changed_ reported tablet) but should still be a substantial reduction. Perhaps most importantly, if a heartbeat from a tserver times out due to long processing, the retry from the TS should hit this code path and therefore be processed quickly. Change-Id: I0de7189b8f1dbeea55172929396b73fd92fd62ba Reviewed-on: http://gerrit.cloudera.org:8080/6916 Reviewed-by: Adar Dembo <a...@cloudera.com> Tested-by: Kudu Jenkins --- M src/kudu/integration-tests/registration-test.cc M src/kudu/master/catalog_manager.cc M src/kudu/master/master-test-util.h M src/kudu/master/sys_catalog.cc M src/kudu/master/sys_catalog.h 5 files changed, 106 insertions(+), 17 deletions(-) Approvals: Adar Dembo: Looks good to me, approved Kudu Jenkins: Verified -- To view, visit http://gerrit.cloudera.org:8080/6916 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: merged Gerrit-Change-Id: I0de7189b8f1dbeea55172929396b73fd92fd62ba Gerrit-PatchSet: 5 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Todd Lipcon <t...@apache.org> Gerrit-Reviewer: Adar Dembo <a...@cloudera.com> Gerrit-Reviewer: Alexey Serbin <aser...@cloudera.com> Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Tidy Bot Gerrit-Reviewer: Todd Lipcon <t...@apache.org>