)]}'
{"id":"kv_engine~111989","triplet_id":"kv_engine~master~Icc15e74e80d7f1926ce6c75bbdd8aa1c43f5ca2c","project":"kv_engine","branch":"master","hashtags":[],"change_id":"Icc15e74e80d7f1926ce6c75bbdd8aa1c43f5ca2c","subject":"MB-35073: Release StreamContainer lock before calling Stream::setDead","status":"MERGED","created":"2019-07-15 15:47:16.000000000","updated":"2019-07-17 09:47:38.000000000","submitted":"2019-07-17 09:08:34.000000000","submitter":{"_account_id":1000966,"name":"Dave Rigby","email":"daver@couchbase.com","username":"drigby","avatars":[{"url":"https://www.gravatar.com/avatar/514e75a8d75cc1fcdb22433d445ae8f1.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/514e75a8d75cc1fcdb22433d445ae8f1.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/514e75a8d75cc1fcdb22433d445ae8f1.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/514e75a8d75cc1fcdb22433d445ae8f1.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"total_comment_count":2,"unresolved_comment_count":0,"has_review_started":true,"submission_id":"111989-1563354514253-f29a451d","meta_rev_id":"09d27c8a340e3e3fb83cf7bd5b8192d58a51fdb0","_number":111989,"virtual_id_number":111989,"owner":{"_account_id":1003828,"name":"James H","email":"james.harrison@couchbase.com","username":"jameseh96","avatars":[{"url":"https://www.gravatar.com/avatar/70d2875f461e17e71a2a16972681c794.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/70d2875f461e17e71a2a16972681c794.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/70d2875f461e17e71a2a16972681c794.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/70d2875f461e17e71a2a16972681c794.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"actions":{},"labels":{"Verified":{"approved":{"_account_id":1000966,"name":"Dave Rigby","email":"daver@couchbase.com","username":"drigby","avatars":[{"url":"https://www.gravatar.com/avatar/514e75a8d75cc1fcdb22433d445ae8f1.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/514e75a8d75cc1fcdb22433d445ae8f1.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/514e75a8d75cc1fcdb22433d445ae8f1.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/514e75a8d75cc1fcdb22433d445ae8f1.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"all":[{"value":0,"_account_id":1000002,"name":"Trond Norbye","display_name":"Trond","email":"trond.norbye@couchbase.com","username":"trond","avatars":[{"url":"https://www.gravatar.com/avatar/1521a1fa74885ab7b9748113afe689cc.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/1521a1fa74885ab7b9748113afe689cc.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/1521a1fa74885ab7b9748113afe689cc.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/1521a1fa74885ab7b9748113afe689cc.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},{"value":0,"_account_id":1004368,"name":"Richard de Mellow","email":"richard.demellow@couchbase.com","username":"rdemellow","avatars":[{"url":"https://www.gravatar.com/avatar/35c97da872c07458f5e5bc4938b2489f.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/35c97da872c07458f5e5bc4938b2489f.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/35c97da872c07458f5e5bc4938b2489f.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/35c97da872c07458f5e5bc4938b2489f.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},{"value":1,"date":"2019-07-17 09:08:34.000000000","_account_id":1000966,"name":"Dave Rigby","email":"daver@couchbase.com","username":"drigby","avatars":[{"url":"https://www.gravatar.com/avatar/514e75a8d75cc1fcdb22433d445ae8f1.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/514e75a8d75cc1fcdb22433d445ae8f1.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/514e75a8d75cc1fcdb22433d445ae8f1.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/514e75a8d75cc1fcdb22433d445ae8f1.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},{"value":0,"_account_id":1004341,"name":"Ben Huddleston","email":"ben.huddleston@couchbase.com","username":"BenHuddleston","avatars":[{"url":"https://www.gravatar.com/avatar/ccb3e7e3b52c3d14e759d1b4c0507a3b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/ccb3e7e3b52c3d14e759d1b4c0507a3b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/ccb3e7e3b52c3d14e759d1b4c0507a3b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/ccb3e7e3b52c3d14e759d1b4c0507a3b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},{"value":0,"_account_id":1003828,"name":"James H","email":"james.harrison@couchbase.com","username":"jameseh96","avatars":[{"url":"https://www.gravatar.com/avatar/70d2875f461e17e71a2a16972681c794.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/70d2875f461e17e71a2a16972681c794.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/70d2875f461e17e71a2a16972681c794.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/70d2875f461e17e71a2a16972681c794.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},{"value":0,"_account_id":1001547,"name":"Dan Owen","email":"owend@couchbase.com","username":"owend","avatars":[{"url":"https://www.gravatar.com/avatar/0761a726bc37606caee7ec6bf566deca.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/0761a726bc37606caee7ec6bf566deca.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/0761a726bc37606caee7ec6bf566deca.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/0761a726bc37606caee7ec6bf566deca.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},{"value":0,"date":"2019-07-17 09:08:34.000000000","permitted_voting_range":{"min":0,"max":1},"_account_id":1000011,"name":"Build Bot","email":"build@couchbase.com","username":"buildbot","avatars":[{"url":"https://www.gravatar.com/avatar/0ba35a43c05d6329d9b2136bab05a733.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/0ba35a43c05d6329d9b2136bab05a733.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/0ba35a43c05d6329d9b2136bab05a733.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/0ba35a43c05d6329d9b2136bab05a733.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}],"tags":["SERVICE_USER"]},{"value":0,"_account_id":1001610,"name":"David Haikney","email":"david.haikney@couchbase.com","username":"dhaikney","avatars":[{"url":"https://www.gravatar.com/avatar/11f1fd641cf6b5c254b2714b69de9e96.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/11f1fd641cf6b5c254b2714b69de9e96.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/11f1fd641cf6b5c254b2714b69de9e96.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/11f1fd641cf6b5c254b2714b69de9e96.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},{"value":0,"_account_id":1001546,"name":"Jim Walker","email":"jim@couchbase.com","username":"jim","avatars":[{"url":"https://www.gravatar.com/avatar/a06928c0be234da34bb6fc731e04a0d7.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/a06928c0be234da34bb6fc731e04a0d7.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/a06928c0be234da34bb6fc731e04a0d7.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/a06928c0be234da34bb6fc731e04a0d7.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},{"value":0,"_account_id":1002319,"name":"Dave Finlay","email":"dave.finlay@couchbase.com","username":"dave-finlay","avatars":[{"url":"https://www.gravatar.com/avatar/aa50dbeeeae1f0a9a777fcf4b80c4fb9.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/aa50dbeeeae1f0a9a777fcf4b80c4fb9.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/aa50dbeeeae1f0a9a777fcf4b80c4fb9.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/aa50dbeeeae1f0a9a777fcf4b80c4fb9.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]}],"values":{"-1":"Fails"," 0":"No score","+1":"Verified"},"description":"","default_value":0},"Code-Review":{"approved":{"_account_id":1000966,"name":"Dave Rigby","email":"daver@couchbase.com","username":"drigby","avatars":[{"url":"https://www.gravatar.com/avatar/514e75a8d75cc1fcdb22433d445ae8f1.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/514e75a8d75cc1fcdb22433d445ae8f1.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/514e75a8d75cc1fcdb22433d445ae8f1.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/514e75a8d75cc1fcdb22433d445ae8f1.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"all":[{"value":0,"_account_id":1000002,"name":"Trond Norbye","display_name":"Trond","email":"trond.norbye@couchbase.com","username":"trond","avatars":[{"url":"https://www.gravatar.com/avatar/1521a1fa74885ab7b9748113afe689cc.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/1521a1fa74885ab7b9748113afe689cc.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/1521a1fa74885ab7b9748113afe689cc.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/1521a1fa74885ab7b9748113afe689cc.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},{"value":0,"_account_id":1004368,"name":"Richard de Mellow","email":"richard.demellow@couchbase.com","username":"rdemellow","avatars":[{"url":"https://www.gravatar.com/avatar/35c97da872c07458f5e5bc4938b2489f.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/35c97da872c07458f5e5bc4938b2489f.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/35c97da872c07458f5e5bc4938b2489f.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/35c97da872c07458f5e5bc4938b2489f.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},{"value":2,"date":"2019-07-17 09:08:34.000000000","_account_id":1000966,"name":"Dave Rigby","email":"daver@couchbase.com","username":"drigby","avatars":[{"url":"https://www.gravatar.com/avatar/514e75a8d75cc1fcdb22433d445ae8f1.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/514e75a8d75cc1fcdb22433d445ae8f1.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/514e75a8d75cc1fcdb22433d445ae8f1.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/514e75a8d75cc1fcdb22433d445ae8f1.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},{"value":0,"_account_id":1004341,"name":"Ben Huddleston","email":"ben.huddleston@couchbase.com","username":"BenHuddleston","avatars":[{"url":"https://www.gravatar.com/avatar/ccb3e7e3b52c3d14e759d1b4c0507a3b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/ccb3e7e3b52c3d14e759d1b4c0507a3b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/ccb3e7e3b52c3d14e759d1b4c0507a3b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/ccb3e7e3b52c3d14e759d1b4c0507a3b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},{"value":0,"_account_id":1003828,"name":"James H","email":"james.harrison@couchbase.com","username":"jameseh96","avatars":[{"url":"https://www.gravatar.com/avatar/70d2875f461e17e71a2a16972681c794.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/70d2875f461e17e71a2a16972681c794.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/70d2875f461e17e71a2a16972681c794.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/70d2875f461e17e71a2a16972681c794.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},{"value":0,"_account_id":1001547,"name":"Dan Owen","email":"owend@couchbase.com","username":"owend","avatars":[{"url":"https://www.gravatar.com/avatar/0761a726bc37606caee7ec6bf566deca.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/0761a726bc37606caee7ec6bf566deca.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/0761a726bc37606caee7ec6bf566deca.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/0761a726bc37606caee7ec6bf566deca.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},{"value":0,"_account_id":1000011,"name":"Build Bot","email":"build@couchbase.com","username":"buildbot","avatars":[{"url":"https://www.gravatar.com/avatar/0ba35a43c05d6329d9b2136bab05a733.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/0ba35a43c05d6329d9b2136bab05a733.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/0ba35a43c05d6329d9b2136bab05a733.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/0ba35a43c05d6329d9b2136bab05a733.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}],"tags":["SERVICE_USER"]},{"value":0,"_account_id":1001610,"name":"David Haikney","email":"david.haikney@couchbase.com","username":"dhaikney","avatars":[{"url":"https://www.gravatar.com/avatar/11f1fd641cf6b5c254b2714b69de9e96.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/11f1fd641cf6b5c254b2714b69de9e96.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/11f1fd641cf6b5c254b2714b69de9e96.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/11f1fd641cf6b5c254b2714b69de9e96.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},{"value":0,"_account_id":1001546,"name":"Jim Walker","email":"jim@couchbase.com","username":"jim","avatars":[{"url":"https://www.gravatar.com/avatar/a06928c0be234da34bb6fc731e04a0d7.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/a06928c0be234da34bb6fc731e04a0d7.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/a06928c0be234da34bb6fc731e04a0d7.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/a06928c0be234da34bb6fc731e04a0d7.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},{"value":0,"_account_id":1002319,"name":"Dave Finlay","email":"dave.finlay@couchbase.com","username":"dave-finlay","avatars":[{"url":"https://www.gravatar.com/avatar/aa50dbeeeae1f0a9a777fcf4b80c4fb9.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/aa50dbeeeae1f0a9a777fcf4b80c4fb9.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/aa50dbeeeae1f0a9a777fcf4b80c4fb9.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/aa50dbeeeae1f0a9a777fcf4b80c4fb9.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]}],"values":{"-2":"Do not submit","-1":"I would prefer that you didn\u0027t submit this"," 0":"No score","+1":"Looks good to me, but someone else must approve","+2":"Looks good to me, approved"},"description":"","default_value":0},"Well-Formed":{"all":[{"value":0,"_account_id":1000002,"name":"Trond Norbye","display_name":"Trond","email":"trond.norbye@couchbase.com","username":"trond","avatars":[{"url":"https://www.gravatar.com/avatar/1521a1fa74885ab7b9748113afe689cc.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/1521a1fa74885ab7b9748113afe689cc.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/1521a1fa74885ab7b9748113afe689cc.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/1521a1fa74885ab7b9748113afe689cc.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},{"value":0,"_account_id":1004368,"name":"Richard de Mellow","email":"richard.demellow@couchbase.com","username":"rdemellow","avatars":[{"url":"https://www.gravatar.com/avatar/35c97da872c07458f5e5bc4938b2489f.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/35c97da872c07458f5e5bc4938b2489f.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/35c97da872c07458f5e5bc4938b2489f.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/35c97da872c07458f5e5bc4938b2489f.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},{"value":0,"_account_id":1000966,"name":"Dave Rigby","email":"daver@couchbase.com","username":"drigby","avatars":[{"url":"https://www.gravatar.com/avatar/514e75a8d75cc1fcdb22433d445ae8f1.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/514e75a8d75cc1fcdb22433d445ae8f1.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/514e75a8d75cc1fcdb22433d445ae8f1.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/514e75a8d75cc1fcdb22433d445ae8f1.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},{"value":0,"_account_id":1004341,"name":"Ben Huddleston","email":"ben.huddleston@couchbase.com","username":"BenHuddleston","avatars":[{"url":"https://www.gravatar.com/avatar/ccb3e7e3b52c3d14e759d1b4c0507a3b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/ccb3e7e3b52c3d14e759d1b4c0507a3b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/ccb3e7e3b52c3d14e759d1b4c0507a3b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/ccb3e7e3b52c3d14e759d1b4c0507a3b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},{"value":0,"_account_id":1003828,"name":"James H","email":"james.harrison@couchbase.com","username":"jameseh96","avatars":[{"url":"https://www.gravatar.com/avatar/70d2875f461e17e71a2a16972681c794.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/70d2875f461e17e71a2a16972681c794.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/70d2875f461e17e71a2a16972681c794.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/70d2875f461e17e71a2a16972681c794.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},{"value":0,"_account_id":1001547,"name":"Dan Owen","email":"owend@couchbase.com","username":"owend","avatars":[{"url":"https://www.gravatar.com/avatar/0761a726bc37606caee7ec6bf566deca.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/0761a726bc37606caee7ec6bf566deca.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/0761a726bc37606caee7ec6bf566deca.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/0761a726bc37606caee7ec6bf566deca.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},{"value":0,"_account_id":1000011,"name":"Build Bot","email":"build@couchbase.com","username":"buildbot","avatars":[{"url":"https://www.gravatar.com/avatar/0ba35a43c05d6329d9b2136bab05a733.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/0ba35a43c05d6329d9b2136bab05a733.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/0ba35a43c05d6329d9b2136bab05a733.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/0ba35a43c05d6329d9b2136bab05a733.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}],"tags":["SERVICE_USER"]},{"value":0,"_account_id":1001610,"name":"David Haikney","email":"david.haikney@couchbase.com","username":"dhaikney","avatars":[{"url":"https://www.gravatar.com/avatar/11f1fd641cf6b5c254b2714b69de9e96.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/11f1fd641cf6b5c254b2714b69de9e96.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/11f1fd641cf6b5c254b2714b69de9e96.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/11f1fd641cf6b5c254b2714b69de9e96.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},{"value":0,"_account_id":1001546,"name":"Jim Walker","email":"jim@couchbase.com","username":"jim","avatars":[{"url":"https://www.gravatar.com/avatar/a06928c0be234da34bb6fc731e04a0d7.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/a06928c0be234da34bb6fc731e04a0d7.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/a06928c0be234da34bb6fc731e04a0d7.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/a06928c0be234da34bb6fc731e04a0d7.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},{"value":0,"_account_id":1002319,"name":"Dave Finlay","email":"dave.finlay@couchbase.com","username":"dave-finlay","avatars":[{"url":"https://www.gravatar.com/avatar/aa50dbeeeae1f0a9a777fcf4b80c4fb9.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/aa50dbeeeae1f0a9a777fcf4b80c4fb9.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/aa50dbeeeae1f0a9a777fcf4b80c4fb9.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/aa50dbeeeae1f0a9a777fcf4b80c4fb9.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]}],"values":{"-1":"Commit is not well-formed"," 0":"Well-formedness not checked","+1":"Commit is well-formed"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":1000002,"name":"Trond Norbye","display_name":"Trond","email":"trond.norbye@couchbase.com","username":"trond","avatars":[{"url":"https://www.gravatar.com/avatar/1521a1fa74885ab7b9748113afe689cc.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/1521a1fa74885ab7b9748113afe689cc.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/1521a1fa74885ab7b9748113afe689cc.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/1521a1fa74885ab7b9748113afe689cc.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},{"_account_id":1000011,"name":"Build Bot","email":"build@couchbase.com","username":"buildbot","avatars":[{"url":"https://www.gravatar.com/avatar/0ba35a43c05d6329d9b2136bab05a733.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/0ba35a43c05d6329d9b2136bab05a733.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/0ba35a43c05d6329d9b2136bab05a733.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/0ba35a43c05d6329d9b2136bab05a733.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}],"tags":["SERVICE_USER"]},{"_account_id":1000966,"name":"Dave Rigby","email":"daver@couchbase.com","username":"drigby","avatars":[{"url":"https://www.gravatar.com/avatar/514e75a8d75cc1fcdb22433d445ae8f1.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/514e75a8d75cc1fcdb22433d445ae8f1.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/514e75a8d75cc1fcdb22433d445ae8f1.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/514e75a8d75cc1fcdb22433d445ae8f1.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},{"_account_id":1001546,"name":"Jim Walker","email":"jim@couchbase.com","username":"jim","avatars":[{"url":"https://www.gravatar.com/avatar/a06928c0be234da34bb6fc731e04a0d7.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/a06928c0be234da34bb6fc731e04a0d7.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/a06928c0be234da34bb6fc731e04a0d7.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/a06928c0be234da34bb6fc731e04a0d7.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},{"_account_id":1001547,"name":"Dan Owen","email":"owend@couchbase.com","username":"owend","avatars":[{"url":"https://www.gravatar.com/avatar/0761a726bc37606caee7ec6bf566deca.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/0761a726bc37606caee7ec6bf566deca.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/0761a726bc37606caee7ec6bf566deca.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/0761a726bc37606caee7ec6bf566deca.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},{"_account_id":1001610,"name":"David Haikney","email":"david.haikney@couchbase.com","username":"dhaikney","avatars":[{"url":"https://www.gravatar.com/avatar/11f1fd641cf6b5c254b2714b69de9e96.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/11f1fd641cf6b5c254b2714b69de9e96.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/11f1fd641cf6b5c254b2714b69de9e96.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/11f1fd641cf6b5c254b2714b69de9e96.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},{"_account_id":1002319,"name":"Dave Finlay","email":"dave.finlay@couchbase.com","username":"dave-finlay","avatars":[{"url":"https://www.gravatar.com/avatar/aa50dbeeeae1f0a9a777fcf4b80c4fb9.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/aa50dbeeeae1f0a9a777fcf4b80c4fb9.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/aa50dbeeeae1f0a9a777fcf4b80c4fb9.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/aa50dbeeeae1f0a9a777fcf4b80c4fb9.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},{"_account_id":1003828,"name":"James H","email":"james.harrison@couchbase.com","username":"jameseh96","avatars":[{"url":"https://www.gravatar.com/avatar/70d2875f461e17e71a2a16972681c794.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/70d2875f461e17e71a2a16972681c794.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/70d2875f461e17e71a2a16972681c794.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/70d2875f461e17e71a2a16972681c794.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},{"_account_id":1004341,"name":"Ben Huddleston","email":"ben.huddleston@couchbase.com","username":"BenHuddleston","avatars":[{"url":"https://www.gravatar.com/avatar/ccb3e7e3b52c3d14e759d1b4c0507a3b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/ccb3e7e3b52c3d14e759d1b4c0507a3b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/ccb3e7e3b52c3d14e759d1b4c0507a3b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/ccb3e7e3b52c3d14e759d1b4c0507a3b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},{"_account_id":1004368,"name":"Richard de Mellow","email":"richard.demellow@couchbase.com","username":"rdemellow","avatars":[{"url":"https://www.gravatar.com/avatar/35c97da872c07458f5e5bc4938b2489f.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/35c97da872c07458f5e5bc4938b2489f.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/35c97da872c07458f5e5bc4938b2489f.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/35c97da872c07458f5e5bc4938b2489f.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2019-07-15 15:50:30.000000000","updated_by":{"_account_id":1000002,"name":"Trond Norbye","display_name":"Trond","email":"trond.norbye@couchbase.com","username":"trond","avatars":[{"url":"https://www.gravatar.com/avatar/1521a1fa74885ab7b9748113afe689cc.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/1521a1fa74885ab7b9748113afe689cc.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/1521a1fa74885ab7b9748113afe689cc.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/1521a1fa74885ab7b9748113afe689cc.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"reviewer":{"_account_id":1000002,"name":"Trond Norbye","display_name":"Trond","email":"trond.norbye@couchbase.com","username":"trond","avatars":[{"url":"https://www.gravatar.com/avatar/1521a1fa74885ab7b9748113afe689cc.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/1521a1fa74885ab7b9748113afe689cc.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/1521a1fa74885ab7b9748113afe689cc.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/1521a1fa74885ab7b9748113afe689cc.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"state":"REVIEWER"},{"updated":"2019-07-15 15:50:30.000000000","updated_by":{"_account_id":1001546,"name":"Jim Walker","email":"jim@couchbase.com","username":"jim","avatars":[{"url":"https://www.gravatar.com/avatar/a06928c0be234da34bb6fc731e04a0d7.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/a06928c0be234da34bb6fc731e04a0d7.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/a06928c0be234da34bb6fc731e04a0d7.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/a06928c0be234da34bb6fc731e04a0d7.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"reviewer":{"_account_id":1001546,"name":"Jim Walker","email":"jim@couchbase.com","username":"jim","avatars":[{"url":"https://www.gravatar.com/avatar/a06928c0be234da34bb6fc731e04a0d7.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/a06928c0be234da34bb6fc731e04a0d7.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/a06928c0be234da34bb6fc731e04a0d7.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/a06928c0be234da34bb6fc731e04a0d7.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"state":"REVIEWER"},{"updated":"2019-07-15 15:50:30.000000000","updated_by":{"_account_id":1001547,"name":"Dan Owen","email":"owend@couchbase.com","username":"owend","avatars":[{"url":"https://www.gravatar.com/avatar/0761a726bc37606caee7ec6bf566deca.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/0761a726bc37606caee7ec6bf566deca.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/0761a726bc37606caee7ec6bf566deca.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/0761a726bc37606caee7ec6bf566deca.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"reviewer":{"_account_id":1001547,"name":"Dan Owen","email":"owend@couchbase.com","username":"owend","avatars":[{"url":"https://www.gravatar.com/avatar/0761a726bc37606caee7ec6bf566deca.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/0761a726bc37606caee7ec6bf566deca.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/0761a726bc37606caee7ec6bf566deca.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/0761a726bc37606caee7ec6bf566deca.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"state":"REVIEWER"},{"updated":"2019-07-15 15:50:30.000000000","updated_by":{"_account_id":1001610,"name":"David Haikney","email":"david.haikney@couchbase.com","username":"dhaikney","avatars":[{"url":"https://www.gravatar.com/avatar/11f1fd641cf6b5c254b2714b69de9e96.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/11f1fd641cf6b5c254b2714b69de9e96.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/11f1fd641cf6b5c254b2714b69de9e96.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/11f1fd641cf6b5c254b2714b69de9e96.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"reviewer":{"_account_id":1001610,"name":"David Haikney","email":"david.haikney@couchbase.com","username":"dhaikney","avatars":[{"url":"https://www.gravatar.com/avatar/11f1fd641cf6b5c254b2714b69de9e96.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/11f1fd641cf6b5c254b2714b69de9e96.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/11f1fd641cf6b5c254b2714b69de9e96.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/11f1fd641cf6b5c254b2714b69de9e96.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"state":"REVIEWER"},{"updated":"2019-07-15 15:50:30.000000000","updated_by":{"_account_id":1002319,"name":"Dave Finlay","email":"dave.finlay@couchbase.com","username":"dave-finlay","avatars":[{"url":"https://www.gravatar.com/avatar/aa50dbeeeae1f0a9a777fcf4b80c4fb9.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/aa50dbeeeae1f0a9a777fcf4b80c4fb9.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/aa50dbeeeae1f0a9a777fcf4b80c4fb9.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/aa50dbeeeae1f0a9a777fcf4b80c4fb9.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"reviewer":{"_account_id":1002319,"name":"Dave Finlay","email":"dave.finlay@couchbase.com","username":"dave-finlay","avatars":[{"url":"https://www.gravatar.com/avatar/aa50dbeeeae1f0a9a777fcf4b80c4fb9.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/aa50dbeeeae1f0a9a777fcf4b80c4fb9.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/aa50dbeeeae1f0a9a777fcf4b80c4fb9.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/aa50dbeeeae1f0a9a777fcf4b80c4fb9.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"state":"REVIEWER"},{"updated":"2019-07-15 15:50:30.000000000","updated_by":{"_account_id":1004341,"name":"Ben Huddleston","email":"ben.huddleston@couchbase.com","username":"BenHuddleston","avatars":[{"url":"https://www.gravatar.com/avatar/ccb3e7e3b52c3d14e759d1b4c0507a3b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/ccb3e7e3b52c3d14e759d1b4c0507a3b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/ccb3e7e3b52c3d14e759d1b4c0507a3b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/ccb3e7e3b52c3d14e759d1b4c0507a3b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"reviewer":{"_account_id":1004341,"name":"Ben Huddleston","email":"ben.huddleston@couchbase.com","username":"BenHuddleston","avatars":[{"url":"https://www.gravatar.com/avatar/ccb3e7e3b52c3d14e759d1b4c0507a3b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/ccb3e7e3b52c3d14e759d1b4c0507a3b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/ccb3e7e3b52c3d14e759d1b4c0507a3b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/ccb3e7e3b52c3d14e759d1b4c0507a3b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"state":"REVIEWER"},{"updated":"2019-07-15 15:50:30.000000000","updated_by":{"_account_id":1004368,"name":"Richard de Mellow","email":"richard.demellow@couchbase.com","username":"rdemellow","avatars":[{"url":"https://www.gravatar.com/avatar/35c97da872c07458f5e5bc4938b2489f.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/35c97da872c07458f5e5bc4938b2489f.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/35c97da872c07458f5e5bc4938b2489f.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/35c97da872c07458f5e5bc4938b2489f.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"reviewer":{"_account_id":1004368,"name":"Richard de Mellow","email":"richard.demellow@couchbase.com","username":"rdemellow","avatars":[{"url":"https://www.gravatar.com/avatar/35c97da872c07458f5e5bc4938b2489f.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/35c97da872c07458f5e5bc4938b2489f.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/35c97da872c07458f5e5bc4938b2489f.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/35c97da872c07458f5e5bc4938b2489f.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"state":"REVIEWER"},{"updated":"2019-07-17 09:08:30.000000000","updated_by":{"_account_id":1000966,"name":"Dave Rigby","email":"daver@couchbase.com","username":"drigby","avatars":[{"url":"https://www.gravatar.com/avatar/514e75a8d75cc1fcdb22433d445ae8f1.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/514e75a8d75cc1fcdb22433d445ae8f1.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/514e75a8d75cc1fcdb22433d445ae8f1.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/514e75a8d75cc1fcdb22433d445ae8f1.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"reviewer":{"_account_id":1000966,"name":"Dave Rigby","email":"daver@couchbase.com","username":"drigby","avatars":[{"url":"https://www.gravatar.com/avatar/514e75a8d75cc1fcdb22433d445ae8f1.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/514e75a8d75cc1fcdb22433d445ae8f1.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/514e75a8d75cc1fcdb22433d445ae8f1.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/514e75a8d75cc1fcdb22433d445ae8f1.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"state":"REVIEWER"},{"updated":"2019-07-17 09:08:32.000000000","updated_by":{"_account_id":1000011,"name":"Build Bot","email":"build@couchbase.com","username":"buildbot","avatars":[{"url":"https://www.gravatar.com/avatar/0ba35a43c05d6329d9b2136bab05a733.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/0ba35a43c05d6329d9b2136bab05a733.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/0ba35a43c05d6329d9b2136bab05a733.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/0ba35a43c05d6329d9b2136bab05a733.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}],"tags":["SERVICE_USER"]},"reviewer":{"_account_id":1000011,"name":"Build Bot","email":"build@couchbase.com","username":"buildbot","avatars":[{"url":"https://www.gravatar.com/avatar/0ba35a43c05d6329d9b2136bab05a733.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/0ba35a43c05d6329d9b2136bab05a733.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/0ba35a43c05d6329d9b2136bab05a733.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/0ba35a43c05d6329d9b2136bab05a733.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}],"tags":["SERVICE_USER"]},"state":"REVIEWER"}],"messages":[{"id":"011b945052ac5559578fadac16cb66914b221b41","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1003828,"name":"James H","email":"james.harrison@couchbase.com","username":"jameseh96","avatars":[{"url":"https://www.gravatar.com/avatar/70d2875f461e17e71a2a16972681c794.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/70d2875f461e17e71a2a16972681c794.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/70d2875f461e17e71a2a16972681c794.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/70d2875f461e17e71a2a16972681c794.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"date":"2019-07-15 15:47:16.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"0ce463acf0a1f6d528f1c61d49eb9be02e6b9efe","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1003828,"name":"James H","email":"james.harrison@couchbase.com","username":"jameseh96","avatars":[{"url":"https://www.gravatar.com/avatar/70d2875f461e17e71a2a16972681c794.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/70d2875f461e17e71a2a16972681c794.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/70d2875f461e17e71a2a16972681c794.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/70d2875f461e17e71a2a16972681c794.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"date":"2019-07-15 15:49:34.000000000","message":"Uploaded patch set 2: Commit message was updated.","accounts_in_message":[],"_revision_number":2},{"id":"27876a41ce5577dc63cc0ec9fe151601d50cead1","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1003828,"name":"James H","email":"james.harrison@couchbase.com","username":"jameseh96","avatars":[{"url":"https://www.gravatar.com/avatar/70d2875f461e17e71a2a16972681c794.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/70d2875f461e17e71a2a16972681c794.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/70d2875f461e17e71a2a16972681c794.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/70d2875f461e17e71a2a16972681c794.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"date":"2019-07-15 15:50:02.000000000","message":"Uploaded patch set 3: Patch Set 2 was rebased.","accounts_in_message":[],"_revision_number":3},{"id":"e4de10bfd7613a39a67cc43386343360500e7575","tag":"autogenerated:jenkins-gerrit-trigger","author":{"_account_id":1000011,"name":"Build Bot","email":"build@couchbase.com","username":"buildbot","avatars":[{"url":"https://www.gravatar.com/avatar/0ba35a43c05d6329d9b2136bab05a733.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/0ba35a43c05d6329d9b2136bab05a733.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/0ba35a43c05d6329d9b2136bab05a733.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/0ba35a43c05d6329d9b2136bab05a733.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}],"tags":["SERVICE_USER"]},"date":"2019-07-15 15:50:03.000000000","message":"Patch Set 1: Verified-1\n\nBuild Failed \n\nhttp://cv.jenkins.couchbase.com/job/kv_engine.ASan-UBSan/job/master/5680/ : ABORTED\n\nBuild which was aborted due to a newer patch set being uploaded for the given review. ( http://cv.jenkins.couchbase.com/job/kv_engine.ASan-UBSan/job/master/5680/ )","accounts_in_message":[],"_revision_number":1},{"id":"1c50536bc4c52a0ee591081186b64fc169f66008","author":{"_account_id":1000966,"name":"Dave Rigby","email":"daver@couchbase.com","username":"drigby","avatars":[{"url":"https://www.gravatar.com/avatar/514e75a8d75cc1fcdb22433d445ae8f1.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/514e75a8d75cc1fcdb22433d445ae8f1.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/514e75a8d75cc1fcdb22433d445ae8f1.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/514e75a8d75cc1fcdb22433d445ae8f1.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"date":"2019-07-15 15:55:17.000000000","message":"Patch Set 3: Code-Review+1\n\n(1 comment)","accounts_in_message":[],"_revision_number":3},{"id":"53d5894a39206733b77bc5850ce5464de4f47d69","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1003828,"name":"James H","email":"james.harrison@couchbase.com","username":"jameseh96","avatars":[{"url":"https://www.gravatar.com/avatar/70d2875f461e17e71a2a16972681c794.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/70d2875f461e17e71a2a16972681c794.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/70d2875f461e17e71a2a16972681c794.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/70d2875f461e17e71a2a16972681c794.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"date":"2019-07-15 15:56:04.000000000","message":"Uploaded patch set 4.","accounts_in_message":[],"_revision_number":4},{"id":"7da12d6b89b55ffc2312cc54b17b0381e447d695","tag":"autogenerated:jenkins-gerrit-trigger","author":{"_account_id":1000011,"name":"Build Bot","email":"build@couchbase.com","username":"buildbot","avatars":[{"url":"https://www.gravatar.com/avatar/0ba35a43c05d6329d9b2136bab05a733.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/0ba35a43c05d6329d9b2136bab05a733.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/0ba35a43c05d6329d9b2136bab05a733.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/0ba35a43c05d6329d9b2136bab05a733.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}],"tags":["SERVICE_USER"]},"date":"2019-07-15 15:56:05.000000000","message":"Patch Set 3: Verified-1\n\nBuild Failed \n\nhttp://cv.jenkins.couchbase.com/job/kv_engine.ASan-UBSan/job/master/5681/ : ABORTED\n\nBuild which was aborted due to a newer patch set being uploaded for the given review. ( http://cv.jenkins.couchbase.com/job/kv_engine.ASan-UBSan/job/master/5681/ )","accounts_in_message":[],"_revision_number":3},{"id":"aa38c8ec9dae331bd7ac13c63f573ba164271deb","author":{"_account_id":1003828,"name":"James H","email":"james.harrison@couchbase.com","username":"jameseh96","avatars":[{"url":"https://www.gravatar.com/avatar/70d2875f461e17e71a2a16972681c794.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/70d2875f461e17e71a2a16972681c794.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/70d2875f461e17e71a2a16972681c794.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/70d2875f461e17e71a2a16972681c794.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"date":"2019-07-15 15:56:17.000000000","message":"Patch Set 3:\n\n(1 comment)","accounts_in_message":[],"_revision_number":3},{"id":"2293dea161978f82b7ea8ec329c0804839995de1","tag":"autogenerated:jenkins-gerrit-trigger","author":{"_account_id":1000011,"name":"Build Bot","email":"build@couchbase.com","username":"buildbot","avatars":[{"url":"https://www.gravatar.com/avatar/0ba35a43c05d6329d9b2136bab05a733.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/0ba35a43c05d6329d9b2136bab05a733.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/0ba35a43c05d6329d9b2136bab05a733.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/0ba35a43c05d6329d9b2136bab05a733.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}],"tags":["SERVICE_USER"]},"date":"2019-07-15 17:01:59.000000000","message":"Patch Set 4: Verified-1\n\nBuild Failed \n\nhttp://cv.jenkins.couchbase.com/job/kv_engine-threadsanitizer-master/12898/ : FAILURE\n\nThreadSanitizer issue: heap-use-after-free /home/couchbase/jenkins/workspace/kv_engine-threadsanitizer-master/kv_engine/daemon/cookie.h:157 in Cookie::getConnection() const  ( http://cv.jenkins.couchbase.com/job/kv_engine-threadsanitizer-master/12898/ )\n\nFailure of a CTest test  89/180 Test  #91: memcached_testapp.default.TransportProtocols/BucketTest ...................... ( http://cv.jenkins.couchbase.com/job/kv_engine-threadsanitizer-master/12898/ )\n\nFailure of a GoogleTest test:\n\nTransportProtocols/BucketTest.MB19748TestDeleteWhileConnShipLogAndFullWriteBuffer/Mcbp, where GetParam() \u003d Mcbp (519 ms) ( http://cv.jenkins.couchbase.com/job/kv_engine-threadsanitizer-master/12898/ )\n\nhttp://cv.jenkins.couchbase.com/job/kv_engine-linux-master/21099/ : FAILURE\n\nOne of more core files found at the end of the build. Data for post-mortem saved to archived_core_dumps.tar.bz2 under \"Build Artifacts\". ( http://cv.jenkins.couchbase.com/job/kv_engine-linux-master/21099/ )\n\nFailure of a CTest test 194/201 Test #196: cluster_test .................................................................Child aborted ( http://cv.jenkins.couchbase.com/job/kv_engine-linux-master/21099/ )\n\nhttp://cv.jenkins.couchbase.com/job/kv_engine-linux-master-CE/2759/ : FAILURE\n\nOne of more core files found at the end of the build. Data for post-mortem saved to archived_core_dumps.tar.bz2 under \"Build Artifacts\". ( http://cv.jenkins.couchbase.com/job/kv_engine-linux-master-CE/2759/ )\n\nFailure of a CTest test 194/201 Test #196: cluster_test .................................................................Child aborted ( http://cv.jenkins.couchbase.com/job/kv_engine-linux-master-CE/2759/ )\n\nhttp://cv.jenkins.couchbase.com/job/kv_engine-clang_format/19743/ : SUCCESS\n\nhttp://cv.jenkins.couchbase.com/job/kv-engine-cv-perf/12110/ : SUCCESS\n\nhttp://cv.jenkins.couchbase.com/job/kv_engine-clang_analyzer-master/18799/ : SUCCESS\n\nhttp://cv.jenkins.couchbase.com/job/kv_engine-windows-master/21930/ : SUCCESS\n\nhttp://cv.jenkins.couchbase.com/job/kv_engine.ASan-UBSan/job/master/5683/ : SUCCESS","accounts_in_message":[],"_revision_number":4},{"id":"c31ca9b709c6dfb8457952d0cf3c569aedd14f6a","tag":"autogenerated:jenkins-gerrit-trigger","author":{"_account_id":1000011,"name":"Build Bot","email":"build@couchbase.com","username":"buildbot","avatars":[{"url":"https://www.gravatar.com/avatar/0ba35a43c05d6329d9b2136bab05a733.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/0ba35a43c05d6329d9b2136bab05a733.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/0ba35a43c05d6329d9b2136bab05a733.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/0ba35a43c05d6329d9b2136bab05a733.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}],"tags":["SERVICE_USER"]},"date":"2019-07-16 10:58:52.000000000","message":"Patch Set 4:\n\nBuild Failed \n\nhttp://cv.jenkins.couchbase.com/job/kv_engine-threadsanitizer-master/12898/ : FAILURE\n\nThreadSanitizer issue: heap-use-after-free /home/couchbase/jenkins/workspace/kv_engine-threadsanitizer-master/kv_engine/daemon/cookie.h:157 in Cookie::getConnection() const  ( http://cv.jenkins.couchbase.com/job/kv_engine-threadsanitizer-master/12898/ )\n\nFailure of a CTest test  89/180 Test  #91: memcached_testapp.default.TransportProtocols/BucketTest ...................... ( http://cv.jenkins.couchbase.com/job/kv_engine-threadsanitizer-master/12898/ )\n\nFailure of a GoogleTest test:\n\nTransportProtocols/BucketTest.MB19748TestDeleteWhileConnShipLogAndFullWriteBuffer/Mcbp, where GetParam() \u003d Mcbp (519 ms) ( http://cv.jenkins.couchbase.com/job/kv_engine-threadsanitizer-master/12898/ )\n\nhttp://cv.jenkins.couchbase.com/job/kv_engine-linux-master-CE/2759/ : FAILURE\n\nOne of more core files found at the end of the build. Data for post-mortem saved to archived_core_dumps.tar.bz2 under \"Build Artifacts\". ( http://cv.jenkins.couchbase.com/job/kv_engine-linux-master-CE/2759/ )\n\nFailure of a CTest test 194/201 Test #196: cluster_test .................................................................Child aborted ( http://cv.jenkins.couchbase.com/job/kv_engine-linux-master-CE/2759/ )\n\nhttp://cv.jenkins.couchbase.com/job/kv_engine-linux-master/21112/ : FAILURE\n\nOne of more core files found at the end of the build. Data for post-mortem saved to archived_core_dumps.tar.bz2 under \"Build Artifacts\". ( http://cv.jenkins.couchbase.com/job/kv_engine-linux-master/21112/ )\n\nFailure of a CTest test 194/201 Test #196: cluster_test .................................................................Child aborted ( http://cv.jenkins.couchbase.com/job/kv_engine-linux-master/21112/ )\n\nhttp://cv.jenkins.couchbase.com/job/kv_engine-clang_format/19743/ : SUCCESS\n\nhttp://cv.jenkins.couchbase.com/job/kv-engine-cv-perf/12110/ : SUCCESS\n\nhttp://cv.jenkins.couchbase.com/job/kv_engine-clang_analyzer-master/18799/ : SUCCESS\n\nhttp://cv.jenkins.couchbase.com/job/kv_engine-windows-master/21930/ : SUCCESS\n\nhttp://cv.jenkins.couchbase.com/job/kv_engine.ASan-UBSan/job/master/5683/ : SUCCESS","accounts_in_message":[],"_revision_number":4},{"id":"f371472c81342ab8c6fac0a76909aa9ce4322934","tag":"autogenerated:jenkins-gerrit-trigger","author":{"_account_id":1000011,"name":"Build Bot","email":"build@couchbase.com","username":"buildbot","avatars":[{"url":"https://www.gravatar.com/avatar/0ba35a43c05d6329d9b2136bab05a733.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/0ba35a43c05d6329d9b2136bab05a733.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/0ba35a43c05d6329d9b2136bab05a733.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/0ba35a43c05d6329d9b2136bab05a733.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}],"tags":["SERVICE_USER"]},"date":"2019-07-16 14:55:09.000000000","message":"Patch Set 4:\n\nBuild Failed \n\nhttp://cv.jenkins.couchbase.com/job/kv_engine-threadsanitizer-master/12927/ : FAILURE\n\nTimeout of a CTest test 180/180 Test  #23: ep-engine_ep_unit_tests ......................................................} ( http://cv.jenkins.couchbase.com/job/kv_engine-threadsanitizer-master/12927/ )\n\nFailure of a CTest test 173/180 Test #175: cluster_test .................................................................Child aborted ( http://cv.jenkins.couchbase.com/job/kv_engine-threadsanitizer-master/12927/ )\n\nhttp://cv.jenkins.couchbase.com/job/kv_engine-linux-master-CE/2784/ : FAILURE\n\nOne of more core files found at the end of the build. Data for post-mortem saved to archived_core_dumps.tar.bz2 under \"Build Artifacts\". ( http://cv.jenkins.couchbase.com/job/kv_engine-linux-master-CE/2784/ )\n\nFailure of a CTest test  35/201 Test  #35: ep_testsuite.value_eviction.rocksdb .......................................... ( http://cv.jenkins.couchbase.com/job/kv_engine-linux-master-CE/2784/ )\n\nhttp://cv.jenkins.couchbase.com/job/kv_engine-clang_format/19743/ : SUCCESS\n\nhttp://cv.jenkins.couchbase.com/job/kv-engine-cv-perf/12110/ : SUCCESS\n\nhttp://cv.jenkins.couchbase.com/job/kv_engine-clang_analyzer-master/18799/ : SUCCESS\n\nhttp://cv.jenkins.couchbase.com/job/kv_engine-windows-master/21930/ : SUCCESS\n\nhttp://cv.jenkins.couchbase.com/job/kv_engine.ASan-UBSan/job/master/5683/ : SUCCESS\n\nhttp://cv.jenkins.couchbase.com/job/kv_engine-linux-master/21125/ : SUCCESS","accounts_in_message":[],"_revision_number":4},{"id":"dbb2a01eb999cd2afdfcf44bc618fea1ec0956a5","tag":"autogenerated:jenkins-gerrit-trigger","author":{"_account_id":1000011,"name":"Build Bot","email":"build@couchbase.com","username":"buildbot","avatars":[{"url":"https://www.gravatar.com/avatar/0ba35a43c05d6329d9b2136bab05a733.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/0ba35a43c05d6329d9b2136bab05a733.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/0ba35a43c05d6329d9b2136bab05a733.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/0ba35a43c05d6329d9b2136bab05a733.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}],"tags":["SERVICE_USER"]},"date":"2019-07-16 15:30:08.000000000","message":"Patch Set 4:\n\nBuild Failed \n\nhttp://cv.jenkins.couchbase.com/job/kv_engine-threadsanitizer-master/12927/ : FAILURE\n\nTimeout of a CTest test 180/180 Test  #23: ep-engine_ep_unit_tests ......................................................} ( http://cv.jenkins.couchbase.com/job/kv_engine-threadsanitizer-master/12927/ )\n\nFailure of a CTest test 173/180 Test #175: cluster_test .................................................................Child aborted ( http://cv.jenkins.couchbase.com/job/kv_engine-threadsanitizer-master/12927/ )\n\nhttp://cv.jenkins.couchbase.com/job/kv_engine-linux-master-CE/2788/ : FAILURE\n\nOne of more core files found at the end of the build. Data for post-mortem saved to archived_core_dumps.tar.bz2 under \"Build Artifacts\". ( http://cv.jenkins.couchbase.com/job/kv_engine-linux-master-CE/2788/ )\n\nFailure of a CTest test 194/201 Test #196: cluster_test .................................................................Child aborted ( http://cv.jenkins.couchbase.com/job/kv_engine-linux-master-CE/2788/ )\n\nhttp://cv.jenkins.couchbase.com/job/kv_engine-clang_format/19743/ : SUCCESS\n\nhttp://cv.jenkins.couchbase.com/job/kv-engine-cv-perf/12110/ : SUCCESS\n\nhttp://cv.jenkins.couchbase.com/job/kv_engine-clang_analyzer-master/18799/ : SUCCESS\n\nhttp://cv.jenkins.couchbase.com/job/kv_engine-windows-master/21930/ : SUCCESS\n\nhttp://cv.jenkins.couchbase.com/job/kv_engine.ASan-UBSan/job/master/5683/ : SUCCESS\n\nhttp://cv.jenkins.couchbase.com/job/kv_engine-linux-master/21125/ : SUCCESS","accounts_in_message":[],"_revision_number":4},{"id":"2e6a0cf27f34c049b3ea6c2c289e65b29f00048a","tag":"autogenerated:jenkins-gerrit-trigger","author":{"_account_id":1000011,"name":"Build Bot","email":"build@couchbase.com","username":"buildbot","avatars":[{"url":"https://www.gravatar.com/avatar/0ba35a43c05d6329d9b2136bab05a733.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/0ba35a43c05d6329d9b2136bab05a733.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/0ba35a43c05d6329d9b2136bab05a733.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/0ba35a43c05d6329d9b2136bab05a733.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}],"tags":["SERVICE_USER"]},"date":"2019-07-16 17:06:30.000000000","message":"Patch Set 4:\n\nBuild Failed \n\nhttp://cv.jenkins.couchbase.com/job/kv_engine-threadsanitizer-master/12931/ : FAILURE\n\nTimeout of a CTest test 180/180 Test  #23: ep-engine_ep_unit_tests ......................................................} ( http://cv.jenkins.couchbase.com/job/kv_engine-threadsanitizer-master/12931/ )\n\nhttp://cv.jenkins.couchbase.com/job/kv_engine-linux-master-CE/2791/ : FAILURE\n\nOne of more core files found at the end of the build. Data for post-mortem saved to archived_core_dumps.tar.bz2 under \"Build Artifacts\". ( http://cv.jenkins.couchbase.com/job/kv_engine-linux-master-CE/2791/ )\n\nFailure of a CTest test 194/201 Test #196: cluster_test .................................................................Child aborted ( http://cv.jenkins.couchbase.com/job/kv_engine-linux-master-CE/2791/ )\n\nhttp://cv.jenkins.couchbase.com/job/kv_engine-clang_format/19743/ : SUCCESS\n\nhttp://cv.jenkins.couchbase.com/job/kv-engine-cv-perf/12110/ : SUCCESS\n\nhttp://cv.jenkins.couchbase.com/job/kv_engine-clang_analyzer-master/18799/ : SUCCESS\n\nhttp://cv.jenkins.couchbase.com/job/kv_engine-windows-master/21930/ : SUCCESS\n\nhttp://cv.jenkins.couchbase.com/job/kv_engine.ASan-UBSan/job/master/5683/ : SUCCESS\n\nhttp://cv.jenkins.couchbase.com/job/kv_engine-linux-master/21125/ : SUCCESS","accounts_in_message":[],"_revision_number":4},{"id":"6161722f0401297499b26a7b7dad38c8c1874303","tag":"autogenerated:jenkins-gerrit-trigger","author":{"_account_id":1000011,"name":"Build Bot","email":"build@couchbase.com","username":"buildbot","avatars":[{"url":"https://www.gravatar.com/avatar/0ba35a43c05d6329d9b2136bab05a733.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/0ba35a43c05d6329d9b2136bab05a733.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/0ba35a43c05d6329d9b2136bab05a733.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/0ba35a43c05d6329d9b2136bab05a733.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}],"tags":["SERVICE_USER"]},"date":"2019-07-16 19:10:28.000000000","message":"Patch Set 4:\n\nBuild Failed \n\nhttp://cv.jenkins.couchbase.com/job/kv_engine-linux-master-CE/2792/ : FAILURE\n\nOne of more core files found at the end of the build. Data for post-mortem saved to archived_core_dumps.tar.bz2 under \"Build Artifacts\". ( http://cv.jenkins.couchbase.com/job/kv_engine-linux-master-CE/2792/ )\n\nFailure of a CTest test 194/201 Test #196: cluster_test .................................................................Child aborted ( http://cv.jenkins.couchbase.com/job/kv_engine-linux-master-CE/2792/ )\n\nhttp://cv.jenkins.couchbase.com/job/kv_engine-threadsanitizer-master/12937/ : FAILURE\n\nFailure of a CTest test 179/180 Test #175: cluster_test .................................................................Child aborted ( http://cv.jenkins.couchbase.com/job/kv_engine-threadsanitizer-master/12937/ )\n\nhttp://cv.jenkins.couchbase.com/job/kv_engine-clang_format/19743/ : SUCCESS\n\nhttp://cv.jenkins.couchbase.com/job/kv-engine-cv-perf/12110/ : SUCCESS\n\nhttp://cv.jenkins.couchbase.com/job/kv_engine-clang_analyzer-master/18799/ : SUCCESS\n\nhttp://cv.jenkins.couchbase.com/job/kv_engine-windows-master/21930/ : SUCCESS\n\nhttp://cv.jenkins.couchbase.com/job/kv_engine.ASan-UBSan/job/master/5683/ : SUCCESS\n\nhttp://cv.jenkins.couchbase.com/job/kv_engine-linux-master/21125/ : SUCCESS","accounts_in_message":[],"_revision_number":4},{"id":"4fa47f0994f49b553a3231667ea511d688e845ce","author":{"_account_id":1000966,"name":"Dave Rigby","email":"daver@couchbase.com","username":"drigby","avatars":[{"url":"https://www.gravatar.com/avatar/514e75a8d75cc1fcdb22433d445ae8f1.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/514e75a8d75cc1fcdb22433d445ae8f1.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/514e75a8d75cc1fcdb22433d445ae8f1.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/514e75a8d75cc1fcdb22433d445ae8f1.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"date":"2019-07-17 08:27:27.000000000","message":"Patch Set 4: Code-Review+2","accounts_in_message":[],"_revision_number":4},{"id":"e88add88d0e64b150699ffbc31b7326b4129f9ab","tag":"autogenerated:jenkins-gerrit-trigger","author":{"_account_id":1000011,"name":"Build Bot","email":"build@couchbase.com","username":"buildbot","avatars":[{"url":"https://www.gravatar.com/avatar/0ba35a43c05d6329d9b2136bab05a733.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/0ba35a43c05d6329d9b2136bab05a733.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/0ba35a43c05d6329d9b2136bab05a733.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/0ba35a43c05d6329d9b2136bab05a733.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}],"tags":["SERVICE_USER"]},"date":"2019-07-17 09:07:05.000000000","message":"Patch Set 4:\n\nBuild Failed \n\nhttp://cv.jenkins.couchbase.com/job/kv_engine-threadsanitizer-master/12937/ : FAILURE\n\nFailure of a CTest test 179/180 Test #175: cluster_test .................................................................Child aborted ( http://cv.jenkins.couchbase.com/job/kv_engine-threadsanitizer-master/12937/ )\n\nhttp://cv.jenkins.couchbase.com/job/kv_engine-linux-master-CE/2798/ : FAILURE\n\nOne of more core files found at the end of the build. Data for post-mortem saved to archived_core_dumps.tar.bz2 under \"Build Artifacts\". ( http://cv.jenkins.couchbase.com/job/kv_engine-linux-master-CE/2798/ )\n\nFailure of a CTest test 194/201 Test #196: cluster_test .................................................................Child aborted ( http://cv.jenkins.couchbase.com/job/kv_engine-linux-master-CE/2798/ )\n\nhttp://cv.jenkins.couchbase.com/job/kv_engine-clang_format/19743/ : SUCCESS\n\nhttp://cv.jenkins.couchbase.com/job/kv-engine-cv-perf/12110/ : SUCCESS\n\nhttp://cv.jenkins.couchbase.com/job/kv_engine-clang_analyzer-master/18799/ : SUCCESS\n\nhttp://cv.jenkins.couchbase.com/job/kv_engine-windows-master/21930/ : SUCCESS\n\nhttp://cv.jenkins.couchbase.com/job/kv_engine.ASan-UBSan/job/master/5683/ : SUCCESS\n\nhttp://cv.jenkins.couchbase.com/job/kv_engine-linux-master/21125/ : SUCCESS","accounts_in_message":[],"_revision_number":4},{"id":"4621ed47cad0b33f98a346b0b870f4c163031400","author":{"_account_id":1000966,"name":"Dave Rigby","email":"daver@couchbase.com","username":"drigby","avatars":[{"url":"https://www.gravatar.com/avatar/514e75a8d75cc1fcdb22433d445ae8f1.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/514e75a8d75cc1fcdb22433d445ae8f1.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/514e75a8d75cc1fcdb22433d445ae8f1.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/514e75a8d75cc1fcdb22433d445ae8f1.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"date":"2019-07-17 09:08:30.000000000","message":"Patch Set 4: Verified+1\n\nManually overriding CV failure - it is due to a known intermittent test failure issue, tracked via https://issues.couchbase.com/browse/MB-35096","accounts_in_message":[],"_revision_number":4},{"id":"7c645bcd6c774467a45162c27355cf723ac2590a","tag":"autogenerated:gerrit:deleteVote","author":{"_account_id":1000966,"name":"Dave Rigby","email":"daver@couchbase.com","username":"drigby","avatars":[{"url":"https://www.gravatar.com/avatar/514e75a8d75cc1fcdb22433d445ae8f1.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/514e75a8d75cc1fcdb22433d445ae8f1.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/514e75a8d75cc1fcdb22433d445ae8f1.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/514e75a8d75cc1fcdb22433d445ae8f1.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"date":"2019-07-17 09:08:32.000000000","message":"Removed Verified-1 by Build Bot \u003cbuild@couchbase.com\u003e\n","accounts_in_message":[],"_revision_number":4},{"id":"694ba501319aa8635482b5fc366be46e28a8a760","tag":"autogenerated:gerrit:merged","author":{"_account_id":1000966,"name":"Dave Rigby","email":"daver@couchbase.com","username":"drigby","avatars":[{"url":"https://www.gravatar.com/avatar/514e75a8d75cc1fcdb22433d445ae8f1.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/514e75a8d75cc1fcdb22433d445ae8f1.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/514e75a8d75cc1fcdb22433d445ae8f1.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/514e75a8d75cc1fcdb22433d445ae8f1.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"date":"2019-07-17 09:08:34.000000000","message":"Change has been successfully cherry-picked as f1dc64e4d6f151fd2176b3cdcc40ed32d6384305 by Dave Rigby","accounts_in_message":[],"_revision_number":5},{"id":"8a0ff05ec41525d870f3ad3a8553ad61fdfd84b9","tag":"autogenerated:jenkins-gerrit-trigger","author":{"_account_id":1000011,"name":"Build Bot","email":"build@couchbase.com","username":"buildbot","avatars":[{"url":"https://www.gravatar.com/avatar/0ba35a43c05d6329d9b2136bab05a733.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/0ba35a43c05d6329d9b2136bab05a733.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/0ba35a43c05d6329d9b2136bab05a733.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/0ba35a43c05d6329d9b2136bab05a733.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}],"tags":["SERVICE_USER"]},"date":"2019-07-17 09:08:41.000000000","message":"Patch Set 5:\n\nBuild Started http://cv.jenkins.couchbase.com/job/kv_engine-master-post-commit/1757/","accounts_in_message":[],"_revision_number":5},{"id":"09d27c8a340e3e3fb83cf7bd5b8192d58a51fdb0","tag":"autogenerated:jenkins-gerrit-trigger","author":{"_account_id":1000011,"name":"Build Bot","email":"build@couchbase.com","username":"buildbot","avatars":[{"url":"https://www.gravatar.com/avatar/0ba35a43c05d6329d9b2136bab05a733.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/0ba35a43c05d6329d9b2136bab05a733.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/0ba35a43c05d6329d9b2136bab05a733.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/0ba35a43c05d6329d9b2136bab05a733.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}],"tags":["SERVICE_USER"]},"date":"2019-07-17 09:47:38.000000000","message":"Patch Set 5:\n\nBuild Unstable \n\nhttp://cv.jenkins.couchbase.com/job/kv_engine-master-post-commit/1757/ : UNSTABLE\n\nERROR: rebalance_in_with_ops (rebalance.rebalancein.RebalanceInTests)\n ( http://cv.jenkins.couchbase.com/job/kv_engine-master-post-commit/1757/ )\u0027","accounts_in_message":[],"_revision_number":5}],"current_revision_number":5,"current_revision":"f1dc64e4d6f151fd2176b3cdcc40ed32d6384305","revisions":{"22de223bc5fc20567a642fa70068f4f801cb2902":{"kind":"REWORK","_number":1,"created":"2019-07-15 15:47:16.000000000","uploader":{"_account_id":1003828,"name":"James H","email":"james.harrison@couchbase.com","username":"jameseh96","avatars":[{"url":"https://www.gravatar.com/avatar/70d2875f461e17e71a2a16972681c794.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/70d2875f461e17e71a2a16972681c794.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/70d2875f461e17e71a2a16972681c794.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/70d2875f461e17e71a2a16972681c794.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"ref":"refs/changes/89/111989/1","fetch":{"anonymous http":{"url":"https://review.couchbase.org/kv_engine","ref":"refs/changes/89/111989/1","commands":{"Branch":"git fetch https://review.couchbase.org/kv_engine refs/changes/89/111989/1 \u0026\u0026 git checkout -b change-111989 FETCH_HEAD","Checkout":"git fetch https://review.couchbase.org/kv_engine refs/changes/89/111989/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.couchbase.org/kv_engine refs/changes/89/111989/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.couchbase.org/kv_engine refs/changes/89/111989/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.couchbase.org/kv_engine refs/changes/89/111989/1","Reset To":"git fetch https://review.couchbase.org/kv_engine refs/changes/89/111989/1 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"3ac1da9c145f33545c39eaf3bf40f6b03b5d0b0c","subject":"Cleanup: fix warnings from clang-tidy in SCRAM-SHA"}],"author":{"name":"James Harrison","email":"james.harrison@couchbase.com","date":"2019-07-15 15:35:33.000000000","tz":60},"committer":{"name":"James Harrison","email":"james.harrison@couchbase.com","date":"2019-07-15 15:44:01.000000000","tz":60},"subject":"MB-35073: Release StreamContainer lock before calling Stream::setDead","message":"MB-35073: Release StreamContainer lock before calling Stream::setDead\n\nTSan found lock inversion as DcpProducer::closeAllStreams() holds\n`StreamContainer-\u003erlock()` and then acquires `vb-\u003egetStateLock()`\nwhereas `VBucket::set()` acquires them in the opposite order.\n\nRelease the stream container lock before calling `Stream::setDead()` to\navoid holding both in the `closeAllStreams()` path.\n\nAlso, preemptively apply the same change to `setStreamDeadStatus`\nthough TSan has not identified inversion in this case.\n\nTSan report:\n[ RUN      ] DurabilityTest.MB34780\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nWARNING: ThreadSanitizer: lock-order-inversion (potential deadlock) (pid\u003d16422)\n  Cycle in lock order graph: M3987 (0x7b68000308f8) \u003d\u003e M225878274331574312 (0x000000000000) \u003d\u003e M3987\n\n  Mutex M225878274331574312 acquired here while holding mutex M3987 in thread T7:\n    #0 pthread_rwlock_rdlock \u003cnull\u003e (libtsan.so.0+0x00000002953b)\n    #1 cb_rw_reader_enter(pthread_rwlock_t*) .../platform/src/cb_pthreads.cc:195 (libplatform_so.so.0.1.0+0x000000009cfa)\n    #2 cb::RWLock::readerLock() .../platform/include/platform/rwlock.h:87 (ep.so+0x0000000f423a)\n    #3 cb::RWLock::lock_shared() .../platform/include/platform/rwlock.h:67 (ep.so+0x00000012f578)\n    #4 std::shared_lock\u003ccb::RWLock\u003e::shared_lock(cb::RWLock\u0026) /usr/local/include/c++/7.3.0/shared_mutex:553 (ep.so+0x00000012f578)\n    #5 StreamContainer\u003cstd::shared_ptr\u003cStream\u003e \u003e::ReadLockedHandle::ReadLockedHandle(StreamContainer\u003cstd::shared_ptr\u003cStream\u003e \u003e const\u0026) .../kv_engine/engines/ep/src/dcp/stream_container.h:213 (ep.so+0x00000012f578)\n    #6 StreamContainer\u003cstd::shared_ptr\u003cStream\u003e \u003e::rlock() const .../kv_engine/engines/ep/src/dcp/stream_container.h:273 (ep.so+0x000000122ea7)\n    #7 DcpProducer::notifySeqnoAvailable(Vbid, unsigned long) .../kv_engine/engines/ep/src/dcp/producer.cc:1312 (ep.so+0x000000122ea7)\n    #8 DcpConnMap::notifyVBConnections(Vbid, unsigned long) .../kv_engine/engines/ep/src/dcp/dcpconnmap.cc:424 (ep.so+0x0000000fa071)\n    #9 KVBucket::notifyReplication(Vbid, long) .../kv_engine/engines/ep/src/kv_bucket.cc:2570 (ep.so+0x000000210711)\n    #10 EPBucket::notifyNewSeqno(Vbid, VBNotifyCtx const\u0026) .../kv_engine/engines/ep/src/ep_bucket.cc:1327 (ep.so+0x00000016232b)\n    #11 NotifyNewSeqnoCB::callback(Vbid const\u0026, VBNotifyCtx const\u0026) .../kv_engine/engines/ep/src/kv_bucket.h:837 (ep.so+0x0000002267d9)\n    #12 VBucket::notifyNewSeqno(VBNotifyCtx const\u0026) .../kv_engine/engines/ep/src/vbucket.cc:3631 (ep.so+0x000000264871)\n    #13 VBucket::set() .../kv_engine/engines/ep/src/vbucket.cc:1568 (ep.so+0x00000026c768)\n    #14 KVBucket::set() .../kv_engine/engines/ep/src/kv_bucket.cc:692 (ep.so+0x000000220856)\n    #15 EventuallyPersistentEngine::storeIfInner() .../kv_engine/engines/ep/src/ep_engine.cc:2440 (ep.so+0x000000181fef)\n\n  Mutex M3987 previously acquired by the same thread here:\n    #0 AnnotateRWLockAcquired \u003cnull\u003e (libtsan.so.0+0x00000005b63d)\n    #1 folly::detail::annotate_rwlock_acquired_impl(void const volatile*, folly::annotate_rwlock_level, char const*, int) .../folly/follytsan-prefix/src/follytsan/folly/synchronization/SanitizeThread.cpp:91 (memcached+0x0000006463de)\n    #2 annotate_rwlock_acquired .../build/tlm/deps/folly.exploded/include/folly/synchronization/SanitizeThread.h:99 (ep.so+0x000000220340)\n    #3 folly::SharedMutexImpl\u003cfalse, void, std::atomic, false, true\u003e::annotateAcquired(folly::annotate_rwlock_level) .../build/tlm/deps/folly.exploded/include/folly/SharedMutex.h:696 (ep.so+0x000000220340)\n    #4 folly::SharedMutexImpl\u003cfalse, void, std::atomic, false, true\u003e::lock_shared(folly::SharedMutexToken\u0026) .../build/tlm/deps/folly.exploded/include/folly/SharedMutex.h:376 (ep.so+0x000000220340)\n    #5 folly::SharedMutexImpl\u003cfalse, void, std::atomic, false, true\u003e::ReadHolder::ReadHolder(folly::SharedMutexImpl\u003cfalse, void, std::atomic, false, true\u003e const\u0026) .../build/tlm/deps/folly.exploded/include/folly/SharedMutex.h:1315 (ep.so+0x000000220340)\n    #6 KVBucket::set() .../kv_engine/engines/ep/src/kv_bucket.cc:659 (ep.so+0x000000220340)\n    #7 EventuallyPersistentEngine::storeIfInner() .../kv_engine/engines/ep/src/ep_engine.cc:2440 (ep.so+0x000000181fef)\n\n  Mutex M3987 acquired here while holding mutex M225878274331574312 in thread T5:\n    #0 AnnotateRWLockAcquired \u003cnull\u003e (libtsan.so.0+0x00000005b63d)\n    #1 folly::detail::annotate_rwlock_acquired_impl(void const volatile*, folly::annotate_rwlock_level, char const*, int) .../folly/follytsan-prefix/src/follytsan/folly/synchronization/SanitizeThread.cpp:91 (memcached+0x0000006463de)\n    #2 annotate_rwlock_acquired .../build/tlm/deps/folly.exploded/include/folly/synchronization/SanitizeThread.h:99 (ep.so+0x0000000bb626)\n    #3 folly::SharedMutexImpl\u003cfalse, void, std::atomic, false, true\u003e::annotateAcquired(folly::annotate_rwlock_level) .../build/tlm/deps/folly.exploded/include/folly/SharedMutex.h:696 (ep.so+0x0000000bb626)\n    #4 folly::SharedMutexImpl\u003cfalse, void, std::atomic, false, true\u003e::lock_shared(folly::SharedMutexToken\u0026) .../build/tlm/deps/folly.exploded/include/folly/SharedMutex.h:376 (ep.so+0x0000000bb626)\n    #5 folly::SharedMutexImpl\u003cfalse, void, std::atomic, false, true\u003e::ReadHolder::ReadHolder(folly::SharedMutexImpl\u003cfalse, void, std::atomic, false, true\u003e const\u0026) .../build/tlm/deps/folly.exploded/include/folly/SharedMutex.h:1315 (ep.so+0x0000000bb626)\n    #6 ActiveStream::setDead(end_stream_status_t) .../kv_engine/engines/ep/src/dcp/active_stream.cc:1181 (ep.so+0x0000000bb626)\n    #7 operator() .../kv_engine/engines/ep/src/dcp/producer.cc:1383 (ep.so+0x0000001257d1)\n    #8 for_each\u003c...\u003e /usr/local/include/c++/7.3.0/bits/stl_algo.h:3884 (ep.so+0x0000001257d1)\n    #9 DcpProducer::closeAllStreams() .../kv_engine/engines/ep/src/dcp/producer.cc:1377 (ep.so+0x000000125c00)\n\n  Mutex M225878274331574312 previously acquired by the same thread here:\n    #0 pthread_rwlock_wrlock \u003cnull\u003e (libtsan.so.0+0x0000000297eb)\n    #1 cb_rw_writer_enter(pthread_rwlock_t*) .../platform/src/cb_pthreads.cc:217 (libplatform_so.so.0.1.0+0x000000009e80)\n    #2 cb::RWLock::writerLock() .../platform/include/platform/rwlock.h:103 (ep.so+0x000000125597)\n    #3 cb::RWLock::lock() .../platform/include/platform/rwlock.h:77 (ep.so+0x000000125597)\n    #4 std::unique_lock\u003ccb::RWLock\u003e::lock() /usr/local/include/c++/7.3.0/bits/std_mutex.h:267 (ep.so+0x000000125597)\n    #5 std::unique_lock\u003ccb::RWLock\u003e::unique_lock(cb::RWLock\u0026) /usr/local/include/c++/7.3.0/bits/std_mutex.h:197 (ep.so+0x000000125597)\n    #6 StreamContainer\u003cstd::shared_ptr\u003cStream\u003e \u003e::WriteLockedHandle::WriteLockedHandle(StreamContainer\u003cstd::shared_ptr\u003cStream\u003e \u003e\u0026) .../kv_engine/engines/ep/src/dcp/stream_container.h:237 (ep.so+0x000000125597)\n    #7 StreamContainer\u003cstd::shared_ptr\u003cStream\u003e \u003e::wlock() .../kv_engine/engines/ep/src/dcp/stream_container.h:277 (ep.so+0x000000125597)\n    #8 operator() .../kv_engine/engines/ep/src/dcp/producer.cc:1381 (ep.so+0x000000125597)\n    #9 for_each\u003c...\u003e /usr/local/include/c++/7.3.0/bits/stl_algo.h:3884 (ep.so+0x000000125597)\n    #10 DcpProducer::closeAllStreams() .../kv_engine/engines/ep/src/dcp/producer.cc:1377 (ep.so+0x000000125c00)\n\nChange-Id: Icc15e74e80d7f1926ce6c75bbdd8aa1c43f5ca2c\n"},"parents_data":[{"branch_name":"refs/heads/master","commit_id":"3ac1da9c145f33545c39eaf3bf40f6b03b5d0b0c","is_merged_in_target_branch":true,"change_id":"If625985179b4a8ad43716c0f6227bb1877c4cca6","change_number":111950,"patch_set_number":3,"change_status":"MERGED"}],"branch":"refs/heads/master"},"2ef1d83c88d6d877d58662464d97c31b84754c48":{"kind":"NO_CODE_CHANGE","_number":2,"created":"2019-07-15 15:49:34.000000000","uploader":{"_account_id":1003828,"name":"James H","email":"james.harrison@couchbase.com","username":"jameseh96","avatars":[{"url":"https://www.gravatar.com/avatar/70d2875f461e17e71a2a16972681c794.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/70d2875f461e17e71a2a16972681c794.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/70d2875f461e17e71a2a16972681c794.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/70d2875f461e17e71a2a16972681c794.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"ref":"refs/changes/89/111989/2","fetch":{"anonymous http":{"url":"https://review.couchbase.org/kv_engine","ref":"refs/changes/89/111989/2","commands":{"Branch":"git fetch https://review.couchbase.org/kv_engine refs/changes/89/111989/2 \u0026\u0026 git checkout -b change-111989 FETCH_HEAD","Checkout":"git fetch https://review.couchbase.org/kv_engine refs/changes/89/111989/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.couchbase.org/kv_engine refs/changes/89/111989/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.couchbase.org/kv_engine refs/changes/89/111989/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.couchbase.org/kv_engine refs/changes/89/111989/2","Reset To":"git fetch https://review.couchbase.org/kv_engine refs/changes/89/111989/2 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"3ac1da9c145f33545c39eaf3bf40f6b03b5d0b0c","subject":"Cleanup: fix warnings from clang-tidy in SCRAM-SHA"}],"author":{"name":"James Harrison","email":"james.harrison@couchbase.com","date":"2019-07-15 15:35:33.000000000","tz":60},"committer":{"name":"James Harrison","email":"james.harrison@couchbase.com","date":"2019-07-15 15:49:16.000000000","tz":60},"subject":"MB-35073: Release StreamContainer lock before calling Stream::setDead","message":"MB-35073: Release StreamContainer lock before calling Stream::setDead\n\nTSan found lock inversion as DcpProducer::closeAllStreams() holds\n`StreamContainer-\u003ewlock()` and then acquires `vb-\u003egetStateLock()`\nwhereas `VBucket::set()` acquires them in the opposite order.\n\nRelease the stream container lock before calling `Stream::setDead()` to\navoid holding both in the `closeAllStreams()` path.\n\nAlso, preemptively apply the same change to `setStreamDeadStatus`\nthough TSan has not identified inversion in this case.\n\nTSan report:\n[ RUN      ] DurabilityTest.MB34780\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nWARNING: ThreadSanitizer: lock-order-inversion (potential deadlock) (pid\u003d16422)\n  Cycle in lock order graph: M3987 (0x7b68000308f8) \u003d\u003e M225878274331574312 (0x000000000000) \u003d\u003e M3987\n\n  Mutex M225878274331574312 acquired here while holding mutex M3987 in thread T7:\n    #0 pthread_rwlock_rdlock \u003cnull\u003e (libtsan.so.0+0x00000002953b)\n    #1 cb_rw_reader_enter(pthread_rwlock_t*) .../platform/src/cb_pthreads.cc:195 (libplatform_so.so.0.1.0+0x000000009cfa)\n    #2 cb::RWLock::readerLock() .../platform/include/platform/rwlock.h:87 (ep.so+0x0000000f423a)\n    #3 cb::RWLock::lock_shared() .../platform/include/platform/rwlock.h:67 (ep.so+0x00000012f578)\n    #4 std::shared_lock\u003ccb::RWLock\u003e::shared_lock(cb::RWLock\u0026) /usr/local/include/c++/7.3.0/shared_mutex:553 (ep.so+0x00000012f578)\n    #5 StreamContainer\u003cstd::shared_ptr\u003cStream\u003e \u003e::ReadLockedHandle::ReadLockedHandle(StreamContainer\u003cstd::shared_ptr\u003cStream\u003e \u003e const\u0026) .../kv_engine/engines/ep/src/dcp/stream_container.h:213 (ep.so+0x00000012f578)\n    #6 StreamContainer\u003cstd::shared_ptr\u003cStream\u003e \u003e::rlock() const .../kv_engine/engines/ep/src/dcp/stream_container.h:273 (ep.so+0x000000122ea7)\n    #7 DcpProducer::notifySeqnoAvailable(Vbid, unsigned long) .../kv_engine/engines/ep/src/dcp/producer.cc:1312 (ep.so+0x000000122ea7)\n    #8 DcpConnMap::notifyVBConnections(Vbid, unsigned long) .../kv_engine/engines/ep/src/dcp/dcpconnmap.cc:424 (ep.so+0x0000000fa071)\n    #9 KVBucket::notifyReplication(Vbid, long) .../kv_engine/engines/ep/src/kv_bucket.cc:2570 (ep.so+0x000000210711)\n    #10 EPBucket::notifyNewSeqno(Vbid, VBNotifyCtx const\u0026) .../kv_engine/engines/ep/src/ep_bucket.cc:1327 (ep.so+0x00000016232b)\n    #11 NotifyNewSeqnoCB::callback(Vbid const\u0026, VBNotifyCtx const\u0026) .../kv_engine/engines/ep/src/kv_bucket.h:837 (ep.so+0x0000002267d9)\n    #12 VBucket::notifyNewSeqno(VBNotifyCtx const\u0026) .../kv_engine/engines/ep/src/vbucket.cc:3631 (ep.so+0x000000264871)\n    #13 VBucket::set() .../kv_engine/engines/ep/src/vbucket.cc:1568 (ep.so+0x00000026c768)\n    #14 KVBucket::set() .../kv_engine/engines/ep/src/kv_bucket.cc:692 (ep.so+0x000000220856)\n    #15 EventuallyPersistentEngine::storeIfInner() .../kv_engine/engines/ep/src/ep_engine.cc:2440 (ep.so+0x000000181fef)\n\n  Mutex M3987 previously acquired by the same thread here:\n    #0 AnnotateRWLockAcquired \u003cnull\u003e (libtsan.so.0+0x00000005b63d)\n    #1 folly::detail::annotate_rwlock_acquired_impl(void const volatile*, folly::annotate_rwlock_level, char const*, int) .../folly/follytsan-prefix/src/follytsan/folly/synchronization/SanitizeThread.cpp:91 (memcached+0x0000006463de)\n    #2 annotate_rwlock_acquired .../build/tlm/deps/folly.exploded/include/folly/synchronization/SanitizeThread.h:99 (ep.so+0x000000220340)\n    #3 folly::SharedMutexImpl\u003cfalse, void, std::atomic, false, true\u003e::annotateAcquired(folly::annotate_rwlock_level) .../build/tlm/deps/folly.exploded/include/folly/SharedMutex.h:696 (ep.so+0x000000220340)\n    #4 folly::SharedMutexImpl\u003cfalse, void, std::atomic, false, true\u003e::lock_shared(folly::SharedMutexToken\u0026) .../build/tlm/deps/folly.exploded/include/folly/SharedMutex.h:376 (ep.so+0x000000220340)\n    #5 folly::SharedMutexImpl\u003cfalse, void, std::atomic, false, true\u003e::ReadHolder::ReadHolder(folly::SharedMutexImpl\u003cfalse, void, std::atomic, false, true\u003e const\u0026) .../build/tlm/deps/folly.exploded/include/folly/SharedMutex.h:1315 (ep.so+0x000000220340)\n    #6 KVBucket::set() .../kv_engine/engines/ep/src/kv_bucket.cc:659 (ep.so+0x000000220340)\n    #7 EventuallyPersistentEngine::storeIfInner() .../kv_engine/engines/ep/src/ep_engine.cc:2440 (ep.so+0x000000181fef)\n\n  Mutex M3987 acquired here while holding mutex M225878274331574312 in thread T5:\n    #0 AnnotateRWLockAcquired \u003cnull\u003e (libtsan.so.0+0x00000005b63d)\n    #1 folly::detail::annotate_rwlock_acquired_impl(void const volatile*, folly::annotate_rwlock_level, char const*, int) .../folly/follytsan-prefix/src/follytsan/folly/synchronization/SanitizeThread.cpp:91 (memcached+0x0000006463de)\n    #2 annotate_rwlock_acquired .../build/tlm/deps/folly.exploded/include/folly/synchronization/SanitizeThread.h:99 (ep.so+0x0000000bb626)\n    #3 folly::SharedMutexImpl\u003cfalse, void, std::atomic, false, true\u003e::annotateAcquired(folly::annotate_rwlock_level) .../build/tlm/deps/folly.exploded/include/folly/SharedMutex.h:696 (ep.so+0x0000000bb626)\n    #4 folly::SharedMutexImpl\u003cfalse, void, std::atomic, false, true\u003e::lock_shared(folly::SharedMutexToken\u0026) .../build/tlm/deps/folly.exploded/include/folly/SharedMutex.h:376 (ep.so+0x0000000bb626)\n    #5 folly::SharedMutexImpl\u003cfalse, void, std::atomic, false, true\u003e::ReadHolder::ReadHolder(folly::SharedMutexImpl\u003cfalse, void, std::atomic, false, true\u003e const\u0026) .../build/tlm/deps/folly.exploded/include/folly/SharedMutex.h:1315 (ep.so+0x0000000bb626)\n    #6 ActiveStream::setDead(end_stream_status_t) .../kv_engine/engines/ep/src/dcp/active_stream.cc:1181 (ep.so+0x0000000bb626)\n    #7 operator() .../kv_engine/engines/ep/src/dcp/producer.cc:1383 (ep.so+0x0000001257d1)\n    #8 for_each\u003c...\u003e /usr/local/include/c++/7.3.0/bits/stl_algo.h:3884 (ep.so+0x0000001257d1)\n    #9 DcpProducer::closeAllStreams() .../kv_engine/engines/ep/src/dcp/producer.cc:1377 (ep.so+0x000000125c00)\n\n  Mutex M225878274331574312 previously acquired by the same thread here:\n    #0 pthread_rwlock_wrlock \u003cnull\u003e (libtsan.so.0+0x0000000297eb)\n    #1 cb_rw_writer_enter(pthread_rwlock_t*) .../platform/src/cb_pthreads.cc:217 (libplatform_so.so.0.1.0+0x000000009e80)\n    #2 cb::RWLock::writerLock() .../platform/include/platform/rwlock.h:103 (ep.so+0x000000125597)\n    #3 cb::RWLock::lock() .../platform/include/platform/rwlock.h:77 (ep.so+0x000000125597)\n    #4 std::unique_lock\u003ccb::RWLock\u003e::lock() /usr/local/include/c++/7.3.0/bits/std_mutex.h:267 (ep.so+0x000000125597)\n    #5 std::unique_lock\u003ccb::RWLock\u003e::unique_lock(cb::RWLock\u0026) /usr/local/include/c++/7.3.0/bits/std_mutex.h:197 (ep.so+0x000000125597)\n    #6 StreamContainer\u003cstd::shared_ptr\u003cStream\u003e \u003e::WriteLockedHandle::WriteLockedHandle(StreamContainer\u003cstd::shared_ptr\u003cStream\u003e \u003e\u0026) .../kv_engine/engines/ep/src/dcp/stream_container.h:237 (ep.so+0x000000125597)\n    #7 StreamContainer\u003cstd::shared_ptr\u003cStream\u003e \u003e::wlock() .../kv_engine/engines/ep/src/dcp/stream_container.h:277 (ep.so+0x000000125597)\n    #8 operator() .../kv_engine/engines/ep/src/dcp/producer.cc:1381 (ep.so+0x000000125597)\n    #9 for_each\u003c...\u003e /usr/local/include/c++/7.3.0/bits/stl_algo.h:3884 (ep.so+0x000000125597)\n    #10 DcpProducer::closeAllStreams() .../kv_engine/engines/ep/src/dcp/producer.cc:1377 (ep.so+0x000000125c00)\n\nChange-Id: Icc15e74e80d7f1926ce6c75bbdd8aa1c43f5ca2c\n"},"parents_data":[{"branch_name":"refs/heads/master","commit_id":"3ac1da9c145f33545c39eaf3bf40f6b03b5d0b0c","is_merged_in_target_branch":true,"change_id":"If625985179b4a8ad43716c0f6227bb1877c4cca6","change_number":111950,"patch_set_number":3,"change_status":"MERGED"}],"branch":"refs/heads/master"},"b6f73c07fe1c61f6604717bd2ad7e1b2f19927e5":{"kind":"TRIVIAL_REBASE","_number":3,"created":"2019-07-15 15:50:02.000000000","uploader":{"_account_id":1003828,"name":"James H","email":"james.harrison@couchbase.com","username":"jameseh96","avatars":[{"url":"https://www.gravatar.com/avatar/70d2875f461e17e71a2a16972681c794.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/70d2875f461e17e71a2a16972681c794.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/70d2875f461e17e71a2a16972681c794.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/70d2875f461e17e71a2a16972681c794.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"ref":"refs/changes/89/111989/3","fetch":{"anonymous http":{"url":"https://review.couchbase.org/kv_engine","ref":"refs/changes/89/111989/3","commands":{"Branch":"git fetch https://review.couchbase.org/kv_engine refs/changes/89/111989/3 \u0026\u0026 git checkout -b change-111989 FETCH_HEAD","Checkout":"git fetch https://review.couchbase.org/kv_engine refs/changes/89/111989/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.couchbase.org/kv_engine refs/changes/89/111989/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.couchbase.org/kv_engine refs/changes/89/111989/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.couchbase.org/kv_engine refs/changes/89/111989/3","Reset To":"git fetch https://review.couchbase.org/kv_engine refs/changes/89/111989/3 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"a9f305bdfc44d543615a05765f7a19335e156824","subject":"MB-35053: Set correct allowedDuplicatePrepareSeqnos"}],"author":{"name":"James Harrison","email":"james.harrison@couchbase.com","date":"2019-07-15 15:35:33.000000000","tz":60},"committer":{"name":"James Harrison","email":"james.harrison@couchbase.com","date":"2019-07-15 15:49:56.000000000","tz":60},"subject":"MB-35073: Release StreamContainer lock before calling Stream::setDead","message":"MB-35073: Release StreamContainer lock before calling Stream::setDead\n\nTSan found lock inversion as DcpProducer::closeAllStreams() holds\n`StreamContainer-\u003ewlock()` and then acquires `vb-\u003egetStateLock()`\nwhereas `VBucket::set()` acquires them in the opposite order.\n\nRelease the stream container lock before calling `Stream::setDead()` to\navoid holding both in the `closeAllStreams()` path.\n\nAlso, preemptively apply the same change to `setStreamDeadStatus`\nthough TSan has not identified inversion in this case.\n\nTSan report:\n[ RUN      ] DurabilityTest.MB34780\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nWARNING: ThreadSanitizer: lock-order-inversion (potential deadlock) (pid\u003d16422)\n  Cycle in lock order graph: M3987 (0x7b68000308f8) \u003d\u003e M225878274331574312 (0x000000000000) \u003d\u003e M3987\n\n  Mutex M225878274331574312 acquired here while holding mutex M3987 in thread T7:\n    #0 pthread_rwlock_rdlock \u003cnull\u003e (libtsan.so.0+0x00000002953b)\n    #1 cb_rw_reader_enter(pthread_rwlock_t*) .../platform/src/cb_pthreads.cc:195 (libplatform_so.so.0.1.0+0x000000009cfa)\n    #2 cb::RWLock::readerLock() .../platform/include/platform/rwlock.h:87 (ep.so+0x0000000f423a)\n    #3 cb::RWLock::lock_shared() .../platform/include/platform/rwlock.h:67 (ep.so+0x00000012f578)\n    #4 std::shared_lock\u003ccb::RWLock\u003e::shared_lock(cb::RWLock\u0026) /usr/local/include/c++/7.3.0/shared_mutex:553 (ep.so+0x00000012f578)\n    #5 StreamContainer\u003cstd::shared_ptr\u003cStream\u003e \u003e::ReadLockedHandle::ReadLockedHandle(StreamContainer\u003cstd::shared_ptr\u003cStream\u003e \u003e const\u0026) .../kv_engine/engines/ep/src/dcp/stream_container.h:213 (ep.so+0x00000012f578)\n    #6 StreamContainer\u003cstd::shared_ptr\u003cStream\u003e \u003e::rlock() const .../kv_engine/engines/ep/src/dcp/stream_container.h:273 (ep.so+0x000000122ea7)\n    #7 DcpProducer::notifySeqnoAvailable(Vbid, unsigned long) .../kv_engine/engines/ep/src/dcp/producer.cc:1312 (ep.so+0x000000122ea7)\n    #8 DcpConnMap::notifyVBConnections(Vbid, unsigned long) .../kv_engine/engines/ep/src/dcp/dcpconnmap.cc:424 (ep.so+0x0000000fa071)\n    #9 KVBucket::notifyReplication(Vbid, long) .../kv_engine/engines/ep/src/kv_bucket.cc:2570 (ep.so+0x000000210711)\n    #10 EPBucket::notifyNewSeqno(Vbid, VBNotifyCtx const\u0026) .../kv_engine/engines/ep/src/ep_bucket.cc:1327 (ep.so+0x00000016232b)\n    #11 NotifyNewSeqnoCB::callback(Vbid const\u0026, VBNotifyCtx const\u0026) .../kv_engine/engines/ep/src/kv_bucket.h:837 (ep.so+0x0000002267d9)\n    #12 VBucket::notifyNewSeqno(VBNotifyCtx const\u0026) .../kv_engine/engines/ep/src/vbucket.cc:3631 (ep.so+0x000000264871)\n    #13 VBucket::set() .../kv_engine/engines/ep/src/vbucket.cc:1568 (ep.so+0x00000026c768)\n    #14 KVBucket::set() .../kv_engine/engines/ep/src/kv_bucket.cc:692 (ep.so+0x000000220856)\n    #15 EventuallyPersistentEngine::storeIfInner() .../kv_engine/engines/ep/src/ep_engine.cc:2440 (ep.so+0x000000181fef)\n\n  Mutex M3987 previously acquired by the same thread here:\n    #0 AnnotateRWLockAcquired \u003cnull\u003e (libtsan.so.0+0x00000005b63d)\n    #1 folly::detail::annotate_rwlock_acquired_impl(void const volatile*, folly::annotate_rwlock_level, char const*, int) .../folly/follytsan-prefix/src/follytsan/folly/synchronization/SanitizeThread.cpp:91 (memcached+0x0000006463de)\n    #2 annotate_rwlock_acquired .../build/tlm/deps/folly.exploded/include/folly/synchronization/SanitizeThread.h:99 (ep.so+0x000000220340)\n    #3 folly::SharedMutexImpl\u003cfalse, void, std::atomic, false, true\u003e::annotateAcquired(folly::annotate_rwlock_level) .../build/tlm/deps/folly.exploded/include/folly/SharedMutex.h:696 (ep.so+0x000000220340)\n    #4 folly::SharedMutexImpl\u003cfalse, void, std::atomic, false, true\u003e::lock_shared(folly::SharedMutexToken\u0026) .../build/tlm/deps/folly.exploded/include/folly/SharedMutex.h:376 (ep.so+0x000000220340)\n    #5 folly::SharedMutexImpl\u003cfalse, void, std::atomic, false, true\u003e::ReadHolder::ReadHolder(folly::SharedMutexImpl\u003cfalse, void, std::atomic, false, true\u003e const\u0026) .../build/tlm/deps/folly.exploded/include/folly/SharedMutex.h:1315 (ep.so+0x000000220340)\n    #6 KVBucket::set() .../kv_engine/engines/ep/src/kv_bucket.cc:659 (ep.so+0x000000220340)\n    #7 EventuallyPersistentEngine::storeIfInner() .../kv_engine/engines/ep/src/ep_engine.cc:2440 (ep.so+0x000000181fef)\n\n  Mutex M3987 acquired here while holding mutex M225878274331574312 in thread T5:\n    #0 AnnotateRWLockAcquired \u003cnull\u003e (libtsan.so.0+0x00000005b63d)\n    #1 folly::detail::annotate_rwlock_acquired_impl(void const volatile*, folly::annotate_rwlock_level, char const*, int) .../folly/follytsan-prefix/src/follytsan/folly/synchronization/SanitizeThread.cpp:91 (memcached+0x0000006463de)\n    #2 annotate_rwlock_acquired .../build/tlm/deps/folly.exploded/include/folly/synchronization/SanitizeThread.h:99 (ep.so+0x0000000bb626)\n    #3 folly::SharedMutexImpl\u003cfalse, void, std::atomic, false, true\u003e::annotateAcquired(folly::annotate_rwlock_level) .../build/tlm/deps/folly.exploded/include/folly/SharedMutex.h:696 (ep.so+0x0000000bb626)\n    #4 folly::SharedMutexImpl\u003cfalse, void, std::atomic, false, true\u003e::lock_shared(folly::SharedMutexToken\u0026) .../build/tlm/deps/folly.exploded/include/folly/SharedMutex.h:376 (ep.so+0x0000000bb626)\n    #5 folly::SharedMutexImpl\u003cfalse, void, std::atomic, false, true\u003e::ReadHolder::ReadHolder(folly::SharedMutexImpl\u003cfalse, void, std::atomic, false, true\u003e const\u0026) .../build/tlm/deps/folly.exploded/include/folly/SharedMutex.h:1315 (ep.so+0x0000000bb626)\n    #6 ActiveStream::setDead(end_stream_status_t) .../kv_engine/engines/ep/src/dcp/active_stream.cc:1181 (ep.so+0x0000000bb626)\n    #7 operator() .../kv_engine/engines/ep/src/dcp/producer.cc:1383 (ep.so+0x0000001257d1)\n    #8 for_each\u003c...\u003e /usr/local/include/c++/7.3.0/bits/stl_algo.h:3884 (ep.so+0x0000001257d1)\n    #9 DcpProducer::closeAllStreams() .../kv_engine/engines/ep/src/dcp/producer.cc:1377 (ep.so+0x000000125c00)\n\n  Mutex M225878274331574312 previously acquired by the same thread here:\n    #0 pthread_rwlock_wrlock \u003cnull\u003e (libtsan.so.0+0x0000000297eb)\n    #1 cb_rw_writer_enter(pthread_rwlock_t*) .../platform/src/cb_pthreads.cc:217 (libplatform_so.so.0.1.0+0x000000009e80)\n    #2 cb::RWLock::writerLock() .../platform/include/platform/rwlock.h:103 (ep.so+0x000000125597)\n    #3 cb::RWLock::lock() .../platform/include/platform/rwlock.h:77 (ep.so+0x000000125597)\n    #4 std::unique_lock\u003ccb::RWLock\u003e::lock() /usr/local/include/c++/7.3.0/bits/std_mutex.h:267 (ep.so+0x000000125597)\n    #5 std::unique_lock\u003ccb::RWLock\u003e::unique_lock(cb::RWLock\u0026) /usr/local/include/c++/7.3.0/bits/std_mutex.h:197 (ep.so+0x000000125597)\n    #6 StreamContainer\u003cstd::shared_ptr\u003cStream\u003e \u003e::WriteLockedHandle::WriteLockedHandle(StreamContainer\u003cstd::shared_ptr\u003cStream\u003e \u003e\u0026) .../kv_engine/engines/ep/src/dcp/stream_container.h:237 (ep.so+0x000000125597)\n    #7 StreamContainer\u003cstd::shared_ptr\u003cStream\u003e \u003e::wlock() .../kv_engine/engines/ep/src/dcp/stream_container.h:277 (ep.so+0x000000125597)\n    #8 operator() .../kv_engine/engines/ep/src/dcp/producer.cc:1381 (ep.so+0x000000125597)\n    #9 for_each\u003c...\u003e /usr/local/include/c++/7.3.0/bits/stl_algo.h:3884 (ep.so+0x000000125597)\n    #10 DcpProducer::closeAllStreams() .../kv_engine/engines/ep/src/dcp/producer.cc:1377 (ep.so+0x000000125c00)\n\nChange-Id: Icc15e74e80d7f1926ce6c75bbdd8aa1c43f5ca2c\n"},"parents_data":[{"branch_name":"refs/heads/master","commit_id":"a9f305bdfc44d543615a05765f7a19335e156824","is_merged_in_target_branch":true,"change_id":"If7e30679d53c765af8261eb1f80319929e5caa5b","change_number":111972,"patch_set_number":4,"change_status":"MERGED"}],"branch":"refs/heads/master"},"58d0cc6986f8ad8cadeaa65f0820be321b097164":{"kind":"REWORK","_number":4,"created":"2019-07-15 15:56:04.000000000","uploader":{"_account_id":1003828,"name":"James H","email":"james.harrison@couchbase.com","username":"jameseh96","avatars":[{"url":"https://www.gravatar.com/avatar/70d2875f461e17e71a2a16972681c794.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/70d2875f461e17e71a2a16972681c794.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/70d2875f461e17e71a2a16972681c794.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/70d2875f461e17e71a2a16972681c794.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"ref":"refs/changes/89/111989/4","fetch":{"anonymous http":{"url":"https://review.couchbase.org/kv_engine","ref":"refs/changes/89/111989/4","commands":{"Branch":"git fetch https://review.couchbase.org/kv_engine refs/changes/89/111989/4 \u0026\u0026 git checkout -b change-111989 FETCH_HEAD","Checkout":"git fetch https://review.couchbase.org/kv_engine refs/changes/89/111989/4 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.couchbase.org/kv_engine refs/changes/89/111989/4 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.couchbase.org/kv_engine refs/changes/89/111989/4 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.couchbase.org/kv_engine refs/changes/89/111989/4","Reset To":"git fetch https://review.couchbase.org/kv_engine refs/changes/89/111989/4 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"a9f305bdfc44d543615a05765f7a19335e156824","subject":"MB-35053: Set correct allowedDuplicatePrepareSeqnos"}],"author":{"name":"James Harrison","email":"james.harrison@couchbase.com","date":"2019-07-15 15:35:33.000000000","tz":60},"committer":{"name":"James Harrison","email":"james.harrison@couchbase.com","date":"2019-07-15 15:55:57.000000000","tz":60},"subject":"MB-35073: Release StreamContainer lock before calling Stream::setDead","message":"MB-35073: Release StreamContainer lock before calling Stream::setDead\n\nTSan found lock inversion as DcpProducer::closeAllStreams() holds\n`StreamContainer-\u003ewlock()` and then acquires `vb-\u003egetStateLock()`\nwhereas `VBucket::set()` acquires them in the opposite order.\n\nRelease the stream container lock before calling `Stream::setDead()` to\navoid holding both in the `closeAllStreams()` path.\n\nAlso, preemptively apply the same change to `setStreamDeadStatus`\nthough TSan has not identified inversion in this case.\n\nTSan report:\n[ RUN      ] DurabilityTest.MB34780\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nWARNING: ThreadSanitizer: lock-order-inversion (potential deadlock) (pid\u003d16422)\n  Cycle in lock order graph: M3987 (0x7b68000308f8) \u003d\u003e M225878274331574312 (0x000000000000) \u003d\u003e M3987\n\n  Mutex M225878274331574312 acquired here while holding mutex M3987 in thread T7:\n    #0 pthread_rwlock_rdlock \u003cnull\u003e (libtsan.so.0+0x00000002953b)\n    #1 cb_rw_reader_enter(pthread_rwlock_t*) .../platform/src/cb_pthreads.cc:195 (libplatform_so.so.0.1.0+0x000000009cfa)\n    #2 cb::RWLock::readerLock() .../platform/include/platform/rwlock.h:87 (ep.so+0x0000000f423a)\n    #3 cb::RWLock::lock_shared() .../platform/include/platform/rwlock.h:67 (ep.so+0x00000012f578)\n    #4 std::shared_lock\u003ccb::RWLock\u003e::shared_lock(cb::RWLock\u0026) /usr/local/include/c++/7.3.0/shared_mutex:553 (ep.so+0x00000012f578)\n    #5 StreamContainer\u003cstd::shared_ptr\u003cStream\u003e \u003e::ReadLockedHandle::ReadLockedHandle(StreamContainer\u003cstd::shared_ptr\u003cStream\u003e \u003e const\u0026) .../kv_engine/engines/ep/src/dcp/stream_container.h:213 (ep.so+0x00000012f578)\n    #6 StreamContainer\u003cstd::shared_ptr\u003cStream\u003e \u003e::rlock() const .../kv_engine/engines/ep/src/dcp/stream_container.h:273 (ep.so+0x000000122ea7)\n    #7 DcpProducer::notifySeqnoAvailable(Vbid, unsigned long) .../kv_engine/engines/ep/src/dcp/producer.cc:1312 (ep.so+0x000000122ea7)\n    #8 DcpConnMap::notifyVBConnections(Vbid, unsigned long) .../kv_engine/engines/ep/src/dcp/dcpconnmap.cc:424 (ep.so+0x0000000fa071)\n    #9 KVBucket::notifyReplication(Vbid, long) .../kv_engine/engines/ep/src/kv_bucket.cc:2570 (ep.so+0x000000210711)\n    #10 EPBucket::notifyNewSeqno(Vbid, VBNotifyCtx const\u0026) .../kv_engine/engines/ep/src/ep_bucket.cc:1327 (ep.so+0x00000016232b)\n    #11 NotifyNewSeqnoCB::callback(Vbid const\u0026, VBNotifyCtx const\u0026) .../kv_engine/engines/ep/src/kv_bucket.h:837 (ep.so+0x0000002267d9)\n    #12 VBucket::notifyNewSeqno(VBNotifyCtx const\u0026) .../kv_engine/engines/ep/src/vbucket.cc:3631 (ep.so+0x000000264871)\n    #13 VBucket::set() .../kv_engine/engines/ep/src/vbucket.cc:1568 (ep.so+0x00000026c768)\n    #14 KVBucket::set() .../kv_engine/engines/ep/src/kv_bucket.cc:692 (ep.so+0x000000220856)\n    #15 EventuallyPersistentEngine::storeIfInner() .../kv_engine/engines/ep/src/ep_engine.cc:2440 (ep.so+0x000000181fef)\n\n  Mutex M3987 previously acquired by the same thread here:\n    #0 AnnotateRWLockAcquired \u003cnull\u003e (libtsan.so.0+0x00000005b63d)\n    #1 folly::detail::annotate_rwlock_acquired_impl(void const volatile*, folly::annotate_rwlock_level, char const*, int) .../folly/follytsan-prefix/src/follytsan/folly/synchronization/SanitizeThread.cpp:91 (memcached+0x0000006463de)\n    #2 annotate_rwlock_acquired .../build/tlm/deps/folly.exploded/include/folly/synchronization/SanitizeThread.h:99 (ep.so+0x000000220340)\n    #3 folly::SharedMutexImpl\u003cfalse, void, std::atomic, false, true\u003e::annotateAcquired(folly::annotate_rwlock_level) .../build/tlm/deps/folly.exploded/include/folly/SharedMutex.h:696 (ep.so+0x000000220340)\n    #4 folly::SharedMutexImpl\u003cfalse, void, std::atomic, false, true\u003e::lock_shared(folly::SharedMutexToken\u0026) .../build/tlm/deps/folly.exploded/include/folly/SharedMutex.h:376 (ep.so+0x000000220340)\n    #5 folly::SharedMutexImpl\u003cfalse, void, std::atomic, false, true\u003e::ReadHolder::ReadHolder(folly::SharedMutexImpl\u003cfalse, void, std::atomic, false, true\u003e const\u0026) .../build/tlm/deps/folly.exploded/include/folly/SharedMutex.h:1315 (ep.so+0x000000220340)\n    #6 KVBucket::set() .../kv_engine/engines/ep/src/kv_bucket.cc:659 (ep.so+0x000000220340)\n    #7 EventuallyPersistentEngine::storeIfInner() .../kv_engine/engines/ep/src/ep_engine.cc:2440 (ep.so+0x000000181fef)\n\n  Mutex M3987 acquired here while holding mutex M225878274331574312 in thread T5:\n    #0 AnnotateRWLockAcquired \u003cnull\u003e (libtsan.so.0+0x00000005b63d)\n    #1 folly::detail::annotate_rwlock_acquired_impl(void const volatile*, folly::annotate_rwlock_level, char const*, int) .../folly/follytsan-prefix/src/follytsan/folly/synchronization/SanitizeThread.cpp:91 (memcached+0x0000006463de)\n    #2 annotate_rwlock_acquired .../build/tlm/deps/folly.exploded/include/folly/synchronization/SanitizeThread.h:99 (ep.so+0x0000000bb626)\n    #3 folly::SharedMutexImpl\u003cfalse, void, std::atomic, false, true\u003e::annotateAcquired(folly::annotate_rwlock_level) .../build/tlm/deps/folly.exploded/include/folly/SharedMutex.h:696 (ep.so+0x0000000bb626)\n    #4 folly::SharedMutexImpl\u003cfalse, void, std::atomic, false, true\u003e::lock_shared(folly::SharedMutexToken\u0026) .../build/tlm/deps/folly.exploded/include/folly/SharedMutex.h:376 (ep.so+0x0000000bb626)\n    #5 folly::SharedMutexImpl\u003cfalse, void, std::atomic, false, true\u003e::ReadHolder::ReadHolder(folly::SharedMutexImpl\u003cfalse, void, std::atomic, false, true\u003e const\u0026) .../build/tlm/deps/folly.exploded/include/folly/SharedMutex.h:1315 (ep.so+0x0000000bb626)\n    #6 ActiveStream::setDead(end_stream_status_t) .../kv_engine/engines/ep/src/dcp/active_stream.cc:1181 (ep.so+0x0000000bb626)\n    #7 operator() .../kv_engine/engines/ep/src/dcp/producer.cc:1383 (ep.so+0x0000001257d1)\n    #8 for_each\u003c...\u003e /usr/local/include/c++/7.3.0/bits/stl_algo.h:3884 (ep.so+0x0000001257d1)\n    #9 DcpProducer::closeAllStreams() .../kv_engine/engines/ep/src/dcp/producer.cc:1377 (ep.so+0x000000125c00)\n\n  Mutex M225878274331574312 previously acquired by the same thread here:\n    #0 pthread_rwlock_wrlock \u003cnull\u003e (libtsan.so.0+0x0000000297eb)\n    #1 cb_rw_writer_enter(pthread_rwlock_t*) .../platform/src/cb_pthreads.cc:217 (libplatform_so.so.0.1.0+0x000000009e80)\n    #2 cb::RWLock::writerLock() .../platform/include/platform/rwlock.h:103 (ep.so+0x000000125597)\n    #3 cb::RWLock::lock() .../platform/include/platform/rwlock.h:77 (ep.so+0x000000125597)\n    #4 std::unique_lock\u003ccb::RWLock\u003e::lock() /usr/local/include/c++/7.3.0/bits/std_mutex.h:267 (ep.so+0x000000125597)\n    #5 std::unique_lock\u003ccb::RWLock\u003e::unique_lock(cb::RWLock\u0026) /usr/local/include/c++/7.3.0/bits/std_mutex.h:197 (ep.so+0x000000125597)\n    #6 StreamContainer\u003cstd::shared_ptr\u003cStream\u003e \u003e::WriteLockedHandle::WriteLockedHandle(StreamContainer\u003cstd::shared_ptr\u003cStream\u003e \u003e\u0026) .../kv_engine/engines/ep/src/dcp/stream_container.h:237 (ep.so+0x000000125597)\n    #7 StreamContainer\u003cstd::shared_ptr\u003cStream\u003e \u003e::wlock() .../kv_engine/engines/ep/src/dcp/stream_container.h:277 (ep.so+0x000000125597)\n    #8 operator() .../kv_engine/engines/ep/src/dcp/producer.cc:1381 (ep.so+0x000000125597)\n    #9 for_each\u003c...\u003e /usr/local/include/c++/7.3.0/bits/stl_algo.h:3884 (ep.so+0x000000125597)\n    #10 DcpProducer::closeAllStreams() .../kv_engine/engines/ep/src/dcp/producer.cc:1377 (ep.so+0x000000125c00)\n\nChange-Id: Icc15e74e80d7f1926ce6c75bbdd8aa1c43f5ca2c\n"},"parents_data":[{"branch_name":"refs/heads/master","commit_id":"a9f305bdfc44d543615a05765f7a19335e156824","is_merged_in_target_branch":true,"change_id":"If7e30679d53c765af8261eb1f80319929e5caa5b","change_number":111972,"patch_set_number":4,"change_status":"MERGED"}],"branch":"refs/heads/master"},"f1dc64e4d6f151fd2176b3cdcc40ed32d6384305":{"kind":"REWORK","_number":5,"created":"2019-07-17 09:08:34.000000000","uploader":{"_account_id":1000966,"name":"Dave Rigby","email":"daver@couchbase.com","username":"drigby","avatars":[{"url":"https://www.gravatar.com/avatar/514e75a8d75cc1fcdb22433d445ae8f1.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/514e75a8d75cc1fcdb22433d445ae8f1.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/514e75a8d75cc1fcdb22433d445ae8f1.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/514e75a8d75cc1fcdb22433d445ae8f1.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"ref":"refs/changes/89/111989/5","fetch":{"anonymous http":{"url":"https://review.couchbase.org/kv_engine","ref":"refs/changes/89/111989/5","commands":{"Branch":"git fetch https://review.couchbase.org/kv_engine refs/changes/89/111989/5 \u0026\u0026 git checkout -b change-111989 FETCH_HEAD","Checkout":"git fetch https://review.couchbase.org/kv_engine refs/changes/89/111989/5 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.couchbase.org/kv_engine refs/changes/89/111989/5 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.couchbase.org/kv_engine refs/changes/89/111989/5 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.couchbase.org/kv_engine refs/changes/89/111989/5","Reset To":"git fetch https://review.couchbase.org/kv_engine refs/changes/89/111989/5 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"45c199e29c8894293ab0b87a9d8b8fa1f50d8195","subject":"MB-34910: Warmup DurabilityMonitor"}],"author":{"name":"James Harrison","email":"james.harrison@couchbase.com","date":"2019-07-15 15:35:33.000000000","tz":60},"committer":{"name":"Dave Rigby","email":"daver@couchbase.com","date":"2019-07-17 09:08:34.000000000","tz":0},"subject":"MB-35073: Release StreamContainer lock before calling Stream::setDead","message":"MB-35073: Release StreamContainer lock before calling Stream::setDead\n\nTSan found lock inversion as DcpProducer::closeAllStreams() holds\n`StreamContainer-\u003ewlock()` and then acquires `vb-\u003egetStateLock()`\nwhereas `VBucket::set()` acquires them in the opposite order.\n\nRelease the stream container lock before calling `Stream::setDead()` to\navoid holding both in the `closeAllStreams()` path.\n\nAlso, preemptively apply the same change to `setStreamDeadStatus`\nthough TSan has not identified inversion in this case.\n\nTSan report:\n[ RUN      ] DurabilityTest.MB34780\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nWARNING: ThreadSanitizer: lock-order-inversion (potential deadlock) (pid\u003d16422)\n  Cycle in lock order graph: M3987 (0x7b68000308f8) \u003d\u003e M225878274331574312 (0x000000000000) \u003d\u003e M3987\n\n  Mutex M225878274331574312 acquired here while holding mutex M3987 in thread T7:\n    #0 pthread_rwlock_rdlock \u003cnull\u003e (libtsan.so.0+0x00000002953b)\n    #1 cb_rw_reader_enter(pthread_rwlock_t*) .../platform/src/cb_pthreads.cc:195 (libplatform_so.so.0.1.0+0x000000009cfa)\n    #2 cb::RWLock::readerLock() .../platform/include/platform/rwlock.h:87 (ep.so+0x0000000f423a)\n    #3 cb::RWLock::lock_shared() .../platform/include/platform/rwlock.h:67 (ep.so+0x00000012f578)\n    #4 std::shared_lock\u003ccb::RWLock\u003e::shared_lock(cb::RWLock\u0026) /usr/local/include/c++/7.3.0/shared_mutex:553 (ep.so+0x00000012f578)\n    #5 StreamContainer\u003cstd::shared_ptr\u003cStream\u003e \u003e::ReadLockedHandle::ReadLockedHandle(StreamContainer\u003cstd::shared_ptr\u003cStream\u003e \u003e const\u0026) .../kv_engine/engines/ep/src/dcp/stream_container.h:213 (ep.so+0x00000012f578)\n    #6 StreamContainer\u003cstd::shared_ptr\u003cStream\u003e \u003e::rlock() const .../kv_engine/engines/ep/src/dcp/stream_container.h:273 (ep.so+0x000000122ea7)\n    #7 DcpProducer::notifySeqnoAvailable(Vbid, unsigned long) .../kv_engine/engines/ep/src/dcp/producer.cc:1312 (ep.so+0x000000122ea7)\n    #8 DcpConnMap::notifyVBConnections(Vbid, unsigned long) .../kv_engine/engines/ep/src/dcp/dcpconnmap.cc:424 (ep.so+0x0000000fa071)\n    #9 KVBucket::notifyReplication(Vbid, long) .../kv_engine/engines/ep/src/kv_bucket.cc:2570 (ep.so+0x000000210711)\n    #10 EPBucket::notifyNewSeqno(Vbid, VBNotifyCtx const\u0026) .../kv_engine/engines/ep/src/ep_bucket.cc:1327 (ep.so+0x00000016232b)\n    #11 NotifyNewSeqnoCB::callback(Vbid const\u0026, VBNotifyCtx const\u0026) .../kv_engine/engines/ep/src/kv_bucket.h:837 (ep.so+0x0000002267d9)\n    #12 VBucket::notifyNewSeqno(VBNotifyCtx const\u0026) .../kv_engine/engines/ep/src/vbucket.cc:3631 (ep.so+0x000000264871)\n    #13 VBucket::set() .../kv_engine/engines/ep/src/vbucket.cc:1568 (ep.so+0x00000026c768)\n    #14 KVBucket::set() .../kv_engine/engines/ep/src/kv_bucket.cc:692 (ep.so+0x000000220856)\n    #15 EventuallyPersistentEngine::storeIfInner() .../kv_engine/engines/ep/src/ep_engine.cc:2440 (ep.so+0x000000181fef)\n\n  Mutex M3987 previously acquired by the same thread here:\n    #0 AnnotateRWLockAcquired \u003cnull\u003e (libtsan.so.0+0x00000005b63d)\n    #1 folly::detail::annotate_rwlock_acquired_impl(void const volatile*, folly::annotate_rwlock_level, char const*, int) .../folly/follytsan-prefix/src/follytsan/folly/synchronization/SanitizeThread.cpp:91 (memcached+0x0000006463de)\n    #2 annotate_rwlock_acquired .../build/tlm/deps/folly.exploded/include/folly/synchronization/SanitizeThread.h:99 (ep.so+0x000000220340)\n    #3 folly::SharedMutexImpl\u003cfalse, void, std::atomic, false, true\u003e::annotateAcquired(folly::annotate_rwlock_level) .../build/tlm/deps/folly.exploded/include/folly/SharedMutex.h:696 (ep.so+0x000000220340)\n    #4 folly::SharedMutexImpl\u003cfalse, void, std::atomic, false, true\u003e::lock_shared(folly::SharedMutexToken\u0026) .../build/tlm/deps/folly.exploded/include/folly/SharedMutex.h:376 (ep.so+0x000000220340)\n    #5 folly::SharedMutexImpl\u003cfalse, void, std::atomic, false, true\u003e::ReadHolder::ReadHolder(folly::SharedMutexImpl\u003cfalse, void, std::atomic, false, true\u003e const\u0026) .../build/tlm/deps/folly.exploded/include/folly/SharedMutex.h:1315 (ep.so+0x000000220340)\n    #6 KVBucket::set() .../kv_engine/engines/ep/src/kv_bucket.cc:659 (ep.so+0x000000220340)\n    #7 EventuallyPersistentEngine::storeIfInner() .../kv_engine/engines/ep/src/ep_engine.cc:2440 (ep.so+0x000000181fef)\n\n  Mutex M3987 acquired here while holding mutex M225878274331574312 in thread T5:\n    #0 AnnotateRWLockAcquired \u003cnull\u003e (libtsan.so.0+0x00000005b63d)\n    #1 folly::detail::annotate_rwlock_acquired_impl(void const volatile*, folly::annotate_rwlock_level, char const*, int) .../folly/follytsan-prefix/src/follytsan/folly/synchronization/SanitizeThread.cpp:91 (memcached+0x0000006463de)\n    #2 annotate_rwlock_acquired .../build/tlm/deps/folly.exploded/include/folly/synchronization/SanitizeThread.h:99 (ep.so+0x0000000bb626)\n    #3 folly::SharedMutexImpl\u003cfalse, void, std::atomic, false, true\u003e::annotateAcquired(folly::annotate_rwlock_level) .../build/tlm/deps/folly.exploded/include/folly/SharedMutex.h:696 (ep.so+0x0000000bb626)\n    #4 folly::SharedMutexImpl\u003cfalse, void, std::atomic, false, true\u003e::lock_shared(folly::SharedMutexToken\u0026) .../build/tlm/deps/folly.exploded/include/folly/SharedMutex.h:376 (ep.so+0x0000000bb626)\n    #5 folly::SharedMutexImpl\u003cfalse, void, std::atomic, false, true\u003e::ReadHolder::ReadHolder(folly::SharedMutexImpl\u003cfalse, void, std::atomic, false, true\u003e const\u0026) .../build/tlm/deps/folly.exploded/include/folly/SharedMutex.h:1315 (ep.so+0x0000000bb626)\n    #6 ActiveStream::setDead(end_stream_status_t) .../kv_engine/engines/ep/src/dcp/active_stream.cc:1181 (ep.so+0x0000000bb626)\n    #7 operator() .../kv_engine/engines/ep/src/dcp/producer.cc:1383 (ep.so+0x0000001257d1)\n    #8 for_each\u003c...\u003e /usr/local/include/c++/7.3.0/bits/stl_algo.h:3884 (ep.so+0x0000001257d1)\n    #9 DcpProducer::closeAllStreams() .../kv_engine/engines/ep/src/dcp/producer.cc:1377 (ep.so+0x000000125c00)\n\n  Mutex M225878274331574312 previously acquired by the same thread here:\n    #0 pthread_rwlock_wrlock \u003cnull\u003e (libtsan.so.0+0x0000000297eb)\n    #1 cb_rw_writer_enter(pthread_rwlock_t*) .../platform/src/cb_pthreads.cc:217 (libplatform_so.so.0.1.0+0x000000009e80)\n    #2 cb::RWLock::writerLock() .../platform/include/platform/rwlock.h:103 (ep.so+0x000000125597)\n    #3 cb::RWLock::lock() .../platform/include/platform/rwlock.h:77 (ep.so+0x000000125597)\n    #4 std::unique_lock\u003ccb::RWLock\u003e::lock() /usr/local/include/c++/7.3.0/bits/std_mutex.h:267 (ep.so+0x000000125597)\n    #5 std::unique_lock\u003ccb::RWLock\u003e::unique_lock(cb::RWLock\u0026) /usr/local/include/c++/7.3.0/bits/std_mutex.h:197 (ep.so+0x000000125597)\n    #6 StreamContainer\u003cstd::shared_ptr\u003cStream\u003e \u003e::WriteLockedHandle::WriteLockedHandle(StreamContainer\u003cstd::shared_ptr\u003cStream\u003e \u003e\u0026) .../kv_engine/engines/ep/src/dcp/stream_container.h:237 (ep.so+0x000000125597)\n    #7 StreamContainer\u003cstd::shared_ptr\u003cStream\u003e \u003e::wlock() .../kv_engine/engines/ep/src/dcp/stream_container.h:277 (ep.so+0x000000125597)\n    #8 operator() .../kv_engine/engines/ep/src/dcp/producer.cc:1381 (ep.so+0x000000125597)\n    #9 for_each\u003c...\u003e /usr/local/include/c++/7.3.0/bits/stl_algo.h:3884 (ep.so+0x000000125597)\n    #10 DcpProducer::closeAllStreams() .../kv_engine/engines/ep/src/dcp/producer.cc:1377 (ep.so+0x000000125c00)\n\nChange-Id: Icc15e74e80d7f1926ce6c75bbdd8aa1c43f5ca2c\nReviewed-on: http://review.couchbase.org/111989\nReviewed-by: Dave Rigby \u003cdaver@couchbase.com\u003e\nTested-by: Dave Rigby \u003cdaver@couchbase.com\u003e\n"},"parents_data":[{"branch_name":"refs/heads/master","commit_id":"45c199e29c8894293ab0b87a9d8b8fa1f50d8195","is_merged_in_target_branch":true,"change_id":"If3033397a331bbcef06b0fe22d93185ba9993489","change_number":111701,"patch_set_number":17,"change_status":"MERGED"}],"branch":"refs/heads/master"}},"requirements":[],"submit_records":[],"submit_requirements":[]}
