Adar Dembo has submitted this change and it was merged. Change subject: catalog_manager: fix unprotected data access in TableInfo::AddRemoveTablets ......................................................................
catalog_manager: fix unprotected data access in TableInfo::AddRemoveTablets RWCLock::HasWriteLock never worked properly because last_writer_tid_ wasn't reset when the lock was released. Well, it worked properly (though it's far less useful) in non-DEBUG builds, but then the various HasWriteLock DCHECKs are compiled out. Who knew? When fixed, TableInfo::AddRemoveTablets broke; we had been reading some tablet metadata without first acquiring a lock! This was frustrasting to address because it meant retreading over the most error-prone aspect of the catalog manager: for operations that require several writes in order to "publish" their results, in what order should those writes occur? I tried my best to get this right, but who knows how I did... Change-Id: Ifcc5d3a9b985210f1fdd6f0495326fa3eb707841 Reviewed-on: http://gerrit.cloudera.org:8080/7995 Tested-by: Kudu Jenkins Reviewed-by: Dan Burkert <[email protected]> Reviewed-by: Alexey Serbin <[email protected]> --- M src/kudu/master/catalog_manager-test.cc M src/kudu/master/catalog_manager.cc M src/kudu/master/catalog_manager.h M src/kudu/util/cow_object.h M src/kudu/util/rwc_lock.cc M src/kudu/util/rwc_lock.h 6 files changed, 96 insertions(+), 22 deletions(-) Approvals: Dan Burkert: Looks good to me, approved Alexey Serbin: Looks good to me, approved Kudu Jenkins: Verified -- To view, visit http://gerrit.cloudera.org:8080/7995 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: merged Gerrit-Change-Id: Ifcc5d3a9b985210f1fdd6f0495326fa3eb707841 Gerrit-PatchSet: 5 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Adar Dembo <[email protected]> Gerrit-Reviewer: Adar Dembo <[email protected]> Gerrit-Reviewer: Alexey Serbin <[email protected]> Gerrit-Reviewer: Dan Burkert <[email protected]> Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Todd Lipcon <[email protected]>
