)]}'
{"id":"ep-engine~68813","triplet_id":"ep-engine~master~I7bdc847c0913244409fa044e312d53b484dc2dab","project":"ep-engine","branch":"master","hashtags":[],"change_id":"I7bdc847c0913244409fa044e312d53b484dc2dab","subject":"MB-21379: Ensure vals data structure is thread safe in ep_testsuite","status":"MERGED","created":"2016-10-17 16:49:06.000000000","updated":"2016-10-20 15:19:18.000000000","submitted":"2016-10-20 15:19:18.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":29,"unresolved_comment_count":0,"has_review_started":true,"meta_rev_id":"2400ceaee3ef73f2a604464d2083d4f8a3e1873e","_number":68813,"virtual_id_number":68813,"owner":{"_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}]},"actions":{},"labels":{"Verified":{"approved":{"_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"]},"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":1000097,"name":"Chiyoung Seo","email":"chiyoung@northscale.com","username":"chiyoung","avatars":[{"url":"https://www.gravatar.com/avatar/ec517f4126dd292151b452ce4d1edf31.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/ec517f4126dd292151b452ce4d1edf31.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/ec517f4126dd292151b452ce4d1edf31.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/ec517f4126dd292151b452ce4d1edf31.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":1000292,"name":"Mark Nunberg","email":"mark.nunberg@couchbase.com","username":"mnunberg","avatars":[{"url":"https://www.gravatar.com/avatar/ea97d1987ed08d8e48e394afae24c122.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/ea97d1987ed08d8e48e394afae24c122.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/ea97d1987ed08d8e48e394afae24c122.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/ea97d1987ed08d8e48e394afae24c122.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},{"value":1,"date":"2016-10-20 15:19:18.000000000","permitted_voting_range":{"min":1,"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":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":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":1001450,"name":"Sriram Ganesan","email":"sriram@couchbase.com","username":"sriganes","avatars":[{"url":"https://www.gravatar.com/avatar/10ba498e6397d02e6d9c1f66d3c1ce30.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/10ba498e6397d02e6d9c1f66d3c1ce30.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/10ba498e6397d02e6d9c1f66d3c1ce30.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/10ba498e6397d02e6d9c1f66d3c1ce30.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},{"value":0,"_account_id":1000489,"name":"Sundar Sridharan","email":"sundar@couchbase.com","username":"sundar","avatars":[{"url":"https://www.gravatar.com/avatar/c4b296426c3566f9fc7c5d6a7276df15.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/c4b296426c3566f9fc7c5d6a7276df15.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/c4b296426c3566f9fc7c5d6a7276df15.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/c4b296426c3566f9fc7c5d6a7276df15.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},{"value":0,"_account_id":1000136,"name":"Mike Wiederhold","email":"mike@couchbase.com","username":"mikewied","avatars":[{"url":"https://www.gravatar.com/avatar/337c57dab3946ecdea245eaabfe99a17.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/337c57dab3946ecdea245eaabfe99a17.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/337c57dab3946ecdea245eaabfe99a17.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/337c57dab3946ecdea245eaabfe99a17.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}]},{"value":0,"_account_id":1000338,"name":"Abhi Dangeti","email":"abhinav@couchbase.com","username":"abhinavdangeti","avatars":[{"url":"https://www.gravatar.com/avatar/9007099855b1bf7d96e9c1a10bc9542e.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/9007099855b1bf7d96e9c1a10bc9542e.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/9007099855b1bf7d96e9c1a10bc9542e.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/9007099855b1bf7d96e9c1a10bc9542e.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},{"value":0,"_account_id":1002736,"name":"Manu Dhundi","email":"manu@couchbase.com","username":"manu","avatars":[{"url":"https://www.gravatar.com/avatar/ecea497ba2801645f19c844dd53cc4e1.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/ecea497ba2801645f19c844dd53cc4e1.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/ecea497ba2801645f19c844dd53cc4e1.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/ecea497ba2801645f19c844dd53cc4e1.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":1000097,"name":"Chiyoung Seo","email":"chiyoung@northscale.com","username":"chiyoung","avatars":[{"url":"https://www.gravatar.com/avatar/ec517f4126dd292151b452ce4d1edf31.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/ec517f4126dd292151b452ce4d1edf31.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/ec517f4126dd292151b452ce4d1edf31.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/ec517f4126dd292151b452ce4d1edf31.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},{"value":2,"date":"2016-10-20 15:19:18.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":1000292,"name":"Mark Nunberg","email":"mark.nunberg@couchbase.com","username":"mnunberg","avatars":[{"url":"https://www.gravatar.com/avatar/ea97d1987ed08d8e48e394afae24c122.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/ea97d1987ed08d8e48e394afae24c122.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/ea97d1987ed08d8e48e394afae24c122.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/ea97d1987ed08d8e48e394afae24c122.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":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":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":1001450,"name":"Sriram Ganesan","email":"sriram@couchbase.com","username":"sriganes","avatars":[{"url":"https://www.gravatar.com/avatar/10ba498e6397d02e6d9c1f66d3c1ce30.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/10ba498e6397d02e6d9c1f66d3c1ce30.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/10ba498e6397d02e6d9c1f66d3c1ce30.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/10ba498e6397d02e6d9c1f66d3c1ce30.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},{"value":0,"_account_id":1000489,"name":"Sundar Sridharan","email":"sundar@couchbase.com","username":"sundar","avatars":[{"url":"https://www.gravatar.com/avatar/c4b296426c3566f9fc7c5d6a7276df15.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/c4b296426c3566f9fc7c5d6a7276df15.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/c4b296426c3566f9fc7c5d6a7276df15.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/c4b296426c3566f9fc7c5d6a7276df15.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},{"value":0,"_account_id":1000136,"name":"Mike Wiederhold","email":"mike@couchbase.com","username":"mikewied","avatars":[{"url":"https://www.gravatar.com/avatar/337c57dab3946ecdea245eaabfe99a17.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/337c57dab3946ecdea245eaabfe99a17.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/337c57dab3946ecdea245eaabfe99a17.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/337c57dab3946ecdea245eaabfe99a17.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}]},{"value":0,"_account_id":1000338,"name":"Abhi Dangeti","email":"abhinav@couchbase.com","username":"abhinavdangeti","avatars":[{"url":"https://www.gravatar.com/avatar/9007099855b1bf7d96e9c1a10bc9542e.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/9007099855b1bf7d96e9c1a10bc9542e.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/9007099855b1bf7d96e9c1a10bc9542e.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/9007099855b1bf7d96e9c1a10bc9542e.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},{"value":0,"_account_id":1002736,"name":"Manu Dhundi","email":"manu@couchbase.com","username":"manu","avatars":[{"url":"https://www.gravatar.com/avatar/ecea497ba2801645f19c844dd53cc4e1.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/ecea497ba2801645f19c844dd53cc4e1.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/ecea497ba2801645f19c844dd53cc4e1.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/ecea497ba2801645f19c844dd53cc4e1.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":1000097,"name":"Chiyoung Seo","email":"chiyoung@northscale.com","username":"chiyoung","avatars":[{"url":"https://www.gravatar.com/avatar/ec517f4126dd292151b452ce4d1edf31.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/ec517f4126dd292151b452ce4d1edf31.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/ec517f4126dd292151b452ce4d1edf31.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/ec517f4126dd292151b452ce4d1edf31.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":1000292,"name":"Mark Nunberg","email":"mark.nunberg@couchbase.com","username":"mnunberg","avatars":[{"url":"https://www.gravatar.com/avatar/ea97d1987ed08d8e48e394afae24c122.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/ea97d1987ed08d8e48e394afae24c122.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/ea97d1987ed08d8e48e394afae24c122.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/ea97d1987ed08d8e48e394afae24c122.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":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":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":1001450,"name":"Sriram Ganesan","email":"sriram@couchbase.com","username":"sriganes","avatars":[{"url":"https://www.gravatar.com/avatar/10ba498e6397d02e6d9c1f66d3c1ce30.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/10ba498e6397d02e6d9c1f66d3c1ce30.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/10ba498e6397d02e6d9c1f66d3c1ce30.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/10ba498e6397d02e6d9c1f66d3c1ce30.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},{"value":0,"_account_id":1000489,"name":"Sundar Sridharan","email":"sundar@couchbase.com","username":"sundar","avatars":[{"url":"https://www.gravatar.com/avatar/c4b296426c3566f9fc7c5d6a7276df15.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/c4b296426c3566f9fc7c5d6a7276df15.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/c4b296426c3566f9fc7c5d6a7276df15.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/c4b296426c3566f9fc7c5d6a7276df15.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},{"value":0,"_account_id":1000136,"name":"Mike Wiederhold","email":"mike@couchbase.com","username":"mikewied","avatars":[{"url":"https://www.gravatar.com/avatar/337c57dab3946ecdea245eaabfe99a17.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/337c57dab3946ecdea245eaabfe99a17.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/337c57dab3946ecdea245eaabfe99a17.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/337c57dab3946ecdea245eaabfe99a17.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}]},{"value":0,"_account_id":1000338,"name":"Abhi Dangeti","email":"abhinav@couchbase.com","username":"abhinavdangeti","avatars":[{"url":"https://www.gravatar.com/avatar/9007099855b1bf7d96e9c1a10bc9542e.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/9007099855b1bf7d96e9c1a10bc9542e.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/9007099855b1bf7d96e9c1a10bc9542e.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/9007099855b1bf7d96e9c1a10bc9542e.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},{"value":0,"_account_id":1002736,"name":"Manu Dhundi","email":"manu@couchbase.com","username":"manu","avatars":[{"url":"https://www.gravatar.com/avatar/ecea497ba2801645f19c844dd53cc4e1.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/ecea497ba2801645f19c844dd53cc4e1.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/ecea497ba2801645f19c844dd53cc4e1.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/ecea497ba2801645f19c844dd53cc4e1.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":1000097,"name":"Chiyoung Seo","email":"chiyoung@northscale.com","username":"chiyoung","avatars":[{"url":"https://www.gravatar.com/avatar/ec517f4126dd292151b452ce4d1edf31.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/ec517f4126dd292151b452ce4d1edf31.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/ec517f4126dd292151b452ce4d1edf31.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/ec517f4126dd292151b452ce4d1edf31.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},{"_account_id":1000136,"name":"Mike Wiederhold","email":"mike@couchbase.com","username":"mikewied","avatars":[{"url":"https://www.gravatar.com/avatar/337c57dab3946ecdea245eaabfe99a17.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/337c57dab3946ecdea245eaabfe99a17.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/337c57dab3946ecdea245eaabfe99a17.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/337c57dab3946ecdea245eaabfe99a17.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},{"_account_id":1000292,"name":"Mark Nunberg","email":"mark.nunberg@couchbase.com","username":"mnunberg","avatars":[{"url":"https://www.gravatar.com/avatar/ea97d1987ed08d8e48e394afae24c122.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/ea97d1987ed08d8e48e394afae24c122.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/ea97d1987ed08d8e48e394afae24c122.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/ea97d1987ed08d8e48e394afae24c122.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},{"_account_id":1000338,"name":"Abhi Dangeti","email":"abhinav@couchbase.com","username":"abhinavdangeti","avatars":[{"url":"https://www.gravatar.com/avatar/9007099855b1bf7d96e9c1a10bc9542e.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/9007099855b1bf7d96e9c1a10bc9542e.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/9007099855b1bf7d96e9c1a10bc9542e.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/9007099855b1bf7d96e9c1a10bc9542e.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},{"_account_id":1000489,"name":"Sundar Sridharan","email":"sundar@couchbase.com","username":"sundar","avatars":[{"url":"https://www.gravatar.com/avatar/c4b296426c3566f9fc7c5d6a7276df15.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/c4b296426c3566f9fc7c5d6a7276df15.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/c4b296426c3566f9fc7c5d6a7276df15.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/c4b296426c3566f9fc7c5d6a7276df15.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},{"_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":1001450,"name":"Sriram Ganesan","email":"sriram@couchbase.com","username":"sriganes","avatars":[{"url":"https://www.gravatar.com/avatar/10ba498e6397d02e6d9c1f66d3c1ce30.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/10ba498e6397d02e6d9c1f66d3c1ce30.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/10ba498e6397d02e6d9c1f66d3c1ce30.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/10ba498e6397d02e6d9c1f66d3c1ce30.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":1002736,"name":"Manu Dhundi","email":"manu@couchbase.com","username":"manu","avatars":[{"url":"https://www.gravatar.com/avatar/ecea497ba2801645f19c844dd53cc4e1.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/ecea497ba2801645f19c844dd53cc4e1.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/ecea497ba2801645f19c844dd53cc4e1.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/ecea497ba2801645f19c844dd53cc4e1.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2016-10-19 13:00:28.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":"2016-10-19 13:00:28.000000000","updated_by":{"_account_id":1000097,"name":"Chiyoung Seo","email":"chiyoung@northscale.com","username":"chiyoung","avatars":[{"url":"https://www.gravatar.com/avatar/ec517f4126dd292151b452ce4d1edf31.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/ec517f4126dd292151b452ce4d1edf31.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/ec517f4126dd292151b452ce4d1edf31.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/ec517f4126dd292151b452ce4d1edf31.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"reviewer":{"_account_id":1000097,"name":"Chiyoung Seo","email":"chiyoung@northscale.com","username":"chiyoung","avatars":[{"url":"https://www.gravatar.com/avatar/ec517f4126dd292151b452ce4d1edf31.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/ec517f4126dd292151b452ce4d1edf31.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/ec517f4126dd292151b452ce4d1edf31.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/ec517f4126dd292151b452ce4d1edf31.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"state":"REVIEWER"},{"updated":"2016-10-19 13:00:28.000000000","updated_by":{"_account_id":1000136,"name":"Mike Wiederhold","email":"mike@couchbase.com","username":"mikewied","avatars":[{"url":"https://www.gravatar.com/avatar/337c57dab3946ecdea245eaabfe99a17.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/337c57dab3946ecdea245eaabfe99a17.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/337c57dab3946ecdea245eaabfe99a17.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/337c57dab3946ecdea245eaabfe99a17.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"reviewer":{"_account_id":1000136,"name":"Mike Wiederhold","email":"mike@couchbase.com","username":"mikewied","avatars":[{"url":"https://www.gravatar.com/avatar/337c57dab3946ecdea245eaabfe99a17.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/337c57dab3946ecdea245eaabfe99a17.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/337c57dab3946ecdea245eaabfe99a17.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/337c57dab3946ecdea245eaabfe99a17.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"state":"REVIEWER"},{"updated":"2016-10-19 13:00:28.000000000","updated_by":{"_account_id":1000292,"name":"Mark Nunberg","email":"mark.nunberg@couchbase.com","username":"mnunberg","avatars":[{"url":"https://www.gravatar.com/avatar/ea97d1987ed08d8e48e394afae24c122.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/ea97d1987ed08d8e48e394afae24c122.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/ea97d1987ed08d8e48e394afae24c122.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/ea97d1987ed08d8e48e394afae24c122.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"reviewer":{"_account_id":1000292,"name":"Mark Nunberg","email":"mark.nunberg@couchbase.com","username":"mnunberg","avatars":[{"url":"https://www.gravatar.com/avatar/ea97d1987ed08d8e48e394afae24c122.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/ea97d1987ed08d8e48e394afae24c122.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/ea97d1987ed08d8e48e394afae24c122.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/ea97d1987ed08d8e48e394afae24c122.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"state":"REVIEWER"},{"updated":"2016-10-19 13:00:28.000000000","updated_by":{"_account_id":1000338,"name":"Abhi Dangeti","email":"abhinav@couchbase.com","username":"abhinavdangeti","avatars":[{"url":"https://www.gravatar.com/avatar/9007099855b1bf7d96e9c1a10bc9542e.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/9007099855b1bf7d96e9c1a10bc9542e.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/9007099855b1bf7d96e9c1a10bc9542e.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/9007099855b1bf7d96e9c1a10bc9542e.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"reviewer":{"_account_id":1000338,"name":"Abhi Dangeti","email":"abhinav@couchbase.com","username":"abhinavdangeti","avatars":[{"url":"https://www.gravatar.com/avatar/9007099855b1bf7d96e9c1a10bc9542e.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/9007099855b1bf7d96e9c1a10bc9542e.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/9007099855b1bf7d96e9c1a10bc9542e.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/9007099855b1bf7d96e9c1a10bc9542e.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"state":"REVIEWER"},{"updated":"2016-10-19 13:00:28.000000000","updated_by":{"_account_id":1000489,"name":"Sundar Sridharan","email":"sundar@couchbase.com","username":"sundar","avatars":[{"url":"https://www.gravatar.com/avatar/c4b296426c3566f9fc7c5d6a7276df15.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/c4b296426c3566f9fc7c5d6a7276df15.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/c4b296426c3566f9fc7c5d6a7276df15.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/c4b296426c3566f9fc7c5d6a7276df15.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"reviewer":{"_account_id":1000489,"name":"Sundar Sridharan","email":"sundar@couchbase.com","username":"sundar","avatars":[{"url":"https://www.gravatar.com/avatar/c4b296426c3566f9fc7c5d6a7276df15.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/c4b296426c3566f9fc7c5d6a7276df15.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/c4b296426c3566f9fc7c5d6a7276df15.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/c4b296426c3566f9fc7c5d6a7276df15.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"state":"REVIEWER"},{"updated":"2016-10-19 13:00:28.000000000","updated_by":{"_account_id":1001450,"name":"Sriram Ganesan","email":"sriram@couchbase.com","username":"sriganes","avatars":[{"url":"https://www.gravatar.com/avatar/10ba498e6397d02e6d9c1f66d3c1ce30.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/10ba498e6397d02e6d9c1f66d3c1ce30.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/10ba498e6397d02e6d9c1f66d3c1ce30.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/10ba498e6397d02e6d9c1f66d3c1ce30.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"reviewer":{"_account_id":1001450,"name":"Sriram Ganesan","email":"sriram@couchbase.com","username":"sriganes","avatars":[{"url":"https://www.gravatar.com/avatar/10ba498e6397d02e6d9c1f66d3c1ce30.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/10ba498e6397d02e6d9c1f66d3c1ce30.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/10ba498e6397d02e6d9c1f66d3c1ce30.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/10ba498e6397d02e6d9c1f66d3c1ce30.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"state":"REVIEWER"},{"updated":"2016-10-19 13:00:28.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":"2016-10-19 13:00:28.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":"2016-10-19 13:00:28.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":"2016-10-19 13:00:28.000000000","updated_by":{"_account_id":1002736,"name":"Manu Dhundi","email":"manu@couchbase.com","username":"manu","avatars":[{"url":"https://www.gravatar.com/avatar/ecea497ba2801645f19c844dd53cc4e1.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/ecea497ba2801645f19c844dd53cc4e1.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/ecea497ba2801645f19c844dd53cc4e1.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/ecea497ba2801645f19c844dd53cc4e1.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"reviewer":{"_account_id":1002736,"name":"Manu Dhundi","email":"manu@couchbase.com","username":"manu","avatars":[{"url":"https://www.gravatar.com/avatar/ecea497ba2801645f19c844dd53cc4e1.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/ecea497ba2801645f19c844dd53cc4e1.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/ecea497ba2801645f19c844dd53cc4e1.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/ecea497ba2801645f19c844dd53cc4e1.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"state":"REVIEWER"},{"updated":"2016-10-20 09:53:08.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"},{"updated":"2016-10-20 15:19:18.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"}],"messages":[{"id":"9b88f8e47b4df910bb8fbaec3e53644db6b0af91","author":{"_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}]},"date":"2016-10-17 16:49:06.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"4872fcce47309355b45c7bd45771158fe8588166","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":"2016-10-17 16:49:15.000000000","message":"Patch Set 1:\n\nBuild Started http://cv.jenkins.couchbase.com/job/ep-engine-gerrit-master/1575/ (1/4)","accounts_in_message":[],"_revision_number":1},{"id":"efdd08dd5eee109c95bd252e99d1df9d5dcbc8f8","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":"2016-10-17 16:59:09.000000000","message":"Patch Set 1:\n\nBuild Started http://cv.jenkins.couchbase.com/job/ep-engine-addresssanitizer-master/374/ (2/4)","accounts_in_message":[],"_revision_number":1},{"id":"a3649d7bf99373cf2d1cb490906e9edea729f39d","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":"2016-10-17 17:04:44.000000000","message":"Patch Set 1:\n\nBuild Started http://cv.jenkins.couchbase.com/job/ep-engine-threadsanitizer-master/1473/ (3/4)","accounts_in_message":[],"_revision_number":1},{"id":"626df921f678f0e791afdbad560d0781a8cfde3a","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":"2016-10-17 17:08:59.000000000","message":"Patch Set 1:\n\nBuild Started http://cv.jenkins.couchbase.com/job/ep-engine-clang_analyzer-master/1253/ (4/4)","accounts_in_message":[],"_revision_number":1},{"id":"2da80947bd2f489066dc9e3be2a2802afde21ee0","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":"2016-10-17 17:47:00.000000000","message":"Patch Set 1: Verified-1\n\nBuild Failed \n\nhttp://cv.jenkins.couchbase.com/job/ep-engine-addresssanitizer-master/374/ : ABORTED\n\nTimeout of a CTest test 24/30 Test #26: ep-engine_value_eviction_checkpoint ...} ( http://cv.jenkins.couchbase.com//job/ep-engine-addresssanitizer-master/374/ )\n\nFailure of a CTest test  ( http://cv.jenkins.couchbase.com//job/ep-engine-addresssanitizer-master/374/ )\n\nhttp://cv.jenkins.couchbase.com/job/ep-engine-threadsanitizer-master/1473/ : FAILURE\n\nTimeout of a CTest test 24/30 Test #26: ep-engine_value_eviction_checkpoint ...} ( http://cv.jenkins.couchbase.com//job/ep-engine-threadsanitizer-master/1473/ )\n\nFailure of a CTest test  ( http://cv.jenkins.couchbase.com//job/ep-engine-threadsanitizer-master/1473/ )\n\nThreadSanitizer issue: lock-order-inversion (potential deadlock) ??:0 __interceptor_pthread_mutex_lock  ( http://cv.jenkins.couchbase.com//job/ep-engine-threadsanitizer-master/1473/ )\n\nhttp://cv.jenkins.couchbase.com/job/ep-engine-gerrit-master/1575/ : FAILURE\n\nhttp://cv.jenkins.couchbase.com/job/ep-engine-clang_analyzer-master/1253/ : SUCCESS","accounts_in_message":[],"_revision_number":1},{"id":"a5a003da78d70c027bee8bdfdf2f2f7277b707a0","author":{"_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}]},"date":"2016-10-17 18:30:56.000000000","message":"Uploaded patch set 2.","accounts_in_message":[],"_revision_number":2},{"id":"50995cca193314e7aac0ccc7097d1fb4e17c241f","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":"2016-10-17 18:31:02.000000000","message":"Patch Set 2:\n\nBuild Started http://cv.jenkins.couchbase.com/job/ep-engine-gerrit-master/1578/ (1/4)","accounts_in_message":[],"_revision_number":2},{"id":"4860f3908fd922c7c5a26f5f7d51a8de1d096fa5","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":"2016-10-17 18:33:10.000000000","message":"Patch Set 2:\n\nBuild Started http://cv.jenkins.couchbase.com/job/ep-engine-addresssanitizer-master/377/ (2/4)","accounts_in_message":[],"_revision_number":2},{"id":"341723e635a349799c18ac46d6a25052dea46875","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":"2016-10-17 18:34:56.000000000","message":"Patch Set 2:\n\nBuild Started http://cv.jenkins.couchbase.com/job/ep-engine-clang_analyzer-master/1256/ (3/4)","accounts_in_message":[],"_revision_number":2},{"id":"f05af3b3dbb045be874a421bf5101b0f74075f35","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":"2016-10-17 18:40:34.000000000","message":"Patch Set 2:\n\nBuild Started http://cv.jenkins.couchbase.com/job/ep-engine-threadsanitizer-master/1477/ (4/4)","accounts_in_message":[],"_revision_number":2},{"id":"b583078aed67548795231926bd1ce49fa4857601","author":{"_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}]},"date":"2016-10-17 18:44:22.000000000","message":"Uploaded patch set 3.","accounts_in_message":[],"_revision_number":3},{"id":"9c5e4c8c0975e4ba13342e180bea4853fc6e9ee2","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":"2016-10-17 18:44:22.000000000","message":"Patch Set 2: Verified-1\n\nBuild Failed \n\nhttp://cv.jenkins.couchbase.com/job/ep-engine-gerrit-master/1578/ : ABORTED\n\nhttp://cv.jenkins.couchbase.com/job/ep-engine-addresssanitizer-master/377/ : FAILURE\n\nFailure of a CTest test  ( http://cv.jenkins.couchbase.com//job/ep-engine-addresssanitizer-master/377/ )\n\nhttp://cv.jenkins.couchbase.com/job/ep-engine-threadsanitizer-master/1477/ : FAILURE\n\nCompile error at /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-master/ep-engine/src/ep_engine.h:660:23:\nerror: no member named setTapKeepalive in Configuration\n ( http://cv.jenkins.couchbase.com//job/ep-engine-threadsanitizer-master/1477/ )\n\nhttp://cv.jenkins.couchbase.com/job/ep-engine-clang_analyzer-master/1256/ : SUCCESS","accounts_in_message":[],"_revision_number":2},{"id":"8b3a6d186c84d3fca8e8c605bd0f916a1d982e14","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":"2016-10-17 18:44:28.000000000","message":"Patch Set 3:\n\nBuild Started http://cv.jenkins.couchbase.com/job/ep-engine-gerrit-master/1579/ (1/4)","accounts_in_message":[],"_revision_number":3},{"id":"1eb4ac101a40b2a454c002ca243e5a548c4a9ea6","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":"2016-10-17 18:50:37.000000000","message":"Patch Set 3:\n\nBuild Started http://cv.jenkins.couchbase.com/job/ep-engine-addresssanitizer-master/378/ (2/4)","accounts_in_message":[],"_revision_number":3},{"id":"9169d07396a4e32e5f2ce7f7a0c323eb0d74e6cd","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":"2016-10-17 18:59:46.000000000","message":"Patch Set 3:\n\nBuild Started http://cv.jenkins.couchbase.com/job/ep-engine-threadsanitizer-master/1478/ (3/4)","accounts_in_message":[],"_revision_number":3},{"id":"69b037cf3a55c726a8c29bb6621c6059c5ef3f1a","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":"2016-10-17 19:07:37.000000000","message":"Patch Set 3:\n\nBuild Started http://cv.jenkins.couchbase.com/job/ep-engine-clang_analyzer-master/1257/ (4/4)","accounts_in_message":[],"_revision_number":3},{"id":"6778c5b7e92ada7c083d3e45fb4f0f5d701c71e6","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":"2016-10-17 19:15:11.000000000","message":"Patch Set 3: Verified-1\n\nBuild Failed \n\nhttp://cv.jenkins.couchbase.com/job/ep-engine-addresssanitizer-master/378/ : FAILURE\n\nFailure of a CTest test  ( http://cv.jenkins.couchbase.com//job/ep-engine-addresssanitizer-master/378/ )\n\nhttp://cv.jenkins.couchbase.com/job/ep-engine-threadsanitizer-master/1478/ : FAILURE\n\nThreadSanitizer issue: data race /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-master/ep-engine/src/bloomfilter.cc:119 BloomFilter::addKey(char const*, unsigned long)  ( http://cv.jenkins.couchbase.com//job/ep-engine-threadsanitizer-master/1478/ )\n\nFailure of a CTest test  ( http://cv.jenkins.couchbase.com//job/ep-engine-threadsanitizer-master/1478/ )\n\nhttp://cv.jenkins.couchbase.com/job/ep-engine-gerrit-master/1579/ : FAILURE\n\nhttp://cv.jenkins.couchbase.com/job/ep-engine-clang_analyzer-master/1257/ : SUCCESS","accounts_in_message":[],"_revision_number":3},{"id":"3357545ef94ae053c8501100f7cd3bda4c7b2880","author":{"_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}]},"date":"2016-10-17 20:34:53.000000000","message":"Uploaded patch set 4: Patch Set 3 was rebased.","accounts_in_message":[],"_revision_number":4},{"id":"da9f64040647b65bdc30bfc6a34bd694dd6330cd","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":"2016-10-17 20:34:59.000000000","message":"Patch Set 4: -Verified\n\nBuild Started http://cv.jenkins.couchbase.com/job/ep-engine-addresssanitizer-master/380/ (1/4)","accounts_in_message":[],"_revision_number":4},{"id":"b28630734f57d39d603424dbf1bb000b169a9138","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":"2016-10-17 20:35:00.000000000","message":"Patch Set 4:\n\nBuild Started http://cv.jenkins.couchbase.com/job/ep-engine-gerrit-master/1582/ (2/4)","accounts_in_message":[],"_revision_number":4},{"id":"94f34405080de9276e4011a3f89d908c56b3dc26","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":"2016-10-17 20:35:00.000000000","message":"Patch Set 4:\n\nBuild Started http://cv.jenkins.couchbase.com/job/ep-engine-threadsanitizer-master/1480/ (3/4)","accounts_in_message":[],"_revision_number":4},{"id":"83da088f1daa9cdd6c9c57805dd7c455a9088a2e","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":"2016-10-17 20:35:00.000000000","message":"Patch Set 4:\n\nBuild Started http://cv.jenkins.couchbase.com/job/ep-engine-clang_analyzer-master/1259/ (4/4)","accounts_in_message":[],"_revision_number":4},{"id":"66c252993e483019625f04314c928422478b008e","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":"2016-10-17 20:58:59.000000000","message":"Patch Set 4: Verified-1\n\nBuild Failed \n\nhttp://cv.jenkins.couchbase.com/job/ep-engine-addresssanitizer-master/380/ : FAILURE\n\nFailure of a CTest test  ( http://cv.jenkins.couchbase.com//job/ep-engine-addresssanitizer-master/380/ )\n\nhttp://cv.jenkins.couchbase.com/job/ep-engine-threadsanitizer-master/1480/ : FAILURE\n\nFailure of a CTest test  ( http://cv.jenkins.couchbase.com//job/ep-engine-threadsanitizer-master/1480/ )\n\nhttp://cv.jenkins.couchbase.com/job/ep-engine-gerrit-master/1582/ : FAILURE\n\nhttp://cv.jenkins.couchbase.com/job/ep-engine-clang_analyzer-master/1259/ : SUCCESS","accounts_in_message":[],"_revision_number":4},{"id":"4b3359c12e66b397fe7265003c70628afffc6058","author":{"_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}]},"date":"2016-10-17 22:04:21.000000000","message":"Uploaded patch set 5.","accounts_in_message":[],"_revision_number":5},{"id":"f2a6cc4f6cd734712d5e0aa9d6caab1c186c6ce5","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":"2016-10-17 22:04:31.000000000","message":"Patch Set 5:\n\nBuild Started http://cv.jenkins.couchbase.com/job/ep-engine-addresssanitizer-master/384/ (1/4)","accounts_in_message":[],"_revision_number":5},{"id":"192028beb622245a81acdb6cbedab59f925f0e6a","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":"2016-10-17 22:04:31.000000000","message":"Patch Set 5:\n\nBuild Started http://cv.jenkins.couchbase.com/job/ep-engine-clang_analyzer-master/1263/ (2/4)","accounts_in_message":[],"_revision_number":5},{"id":"9001617e7d2ce4a4ed9429772ee7a7d508ae7838","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":"2016-10-17 22:04:31.000000000","message":"Patch Set 5:\n\nBuild Started http://cv.jenkins.couchbase.com/job/ep-engine-threadsanitizer-master/1484/ (3/4)","accounts_in_message":[],"_revision_number":5},{"id":"c0ba1a76d9c0fc183268b0ecd7c3e3224228c1a4","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":"2016-10-17 22:04:31.000000000","message":"Patch Set 5:\n\nBuild Started http://cv.jenkins.couchbase.com/job/ep-engine-gerrit-master/1586/ (4/4)","accounts_in_message":[],"_revision_number":5},{"id":"0a3e4439742305955f8e378be0db5f132f6418aa","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":"2016-10-17 22:36:47.000000000","message":"Patch Set 5: Verified-1\n\nBuild Failed \n\nhttp://cv.jenkins.couchbase.com/job/ep-engine-addresssanitizer-master/384/ : FAILURE\n\nFailure of a CTest test  ( http://cv.jenkins.couchbase.com//job/ep-engine-addresssanitizer-master/384/ )\n\nhttp://cv.jenkins.couchbase.com/job/ep-engine-threadsanitizer-master/1484/ : FAILURE\n\nThreadSanitizer issue: data race /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-master/ep-engine/src/bloomfilter.cc:119 BloomFilter::addKey(char const*, unsigned long)  ( http://cv.jenkins.couchbase.com//job/ep-engine-threadsanitizer-master/1484/ )\n\nFailure of a CTest test  ( http://cv.jenkins.couchbase.com//job/ep-engine-threadsanitizer-master/1484/ )\n\nhttp://cv.jenkins.couchbase.com/job/ep-engine-gerrit-master/1586/ : FAILURE\n\nhttp://cv.jenkins.couchbase.com/job/ep-engine-clang_analyzer-master/1263/ : SUCCESS","accounts_in_message":[],"_revision_number":5},{"id":"3b0e3c8b2e56f055fbd701c31d47c387e66f07d8","author":{"_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}]},"date":"2016-10-18 07:44:54.000000000","message":"Uploaded patch set 6.","accounts_in_message":[],"_revision_number":6},{"id":"7918433a4eb386c04ffedec864e586afc4369aed","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":"2016-10-18 07:45:02.000000000","message":"Patch Set 6:\n\nBuild Started http://cv.jenkins.couchbase.com/job/ep-engine-addresssanitizer-master/391/ (1/4)","accounts_in_message":[],"_revision_number":6},{"id":"2b4fdcc96d786c0b3be72f4f23774655d457741f","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":"2016-10-18 07:45:02.000000000","message":"Patch Set 6:\n\nBuild Started http://cv.jenkins.couchbase.com/job/ep-engine-gerrit-master/1593/ (2/4)","accounts_in_message":[],"_revision_number":6},{"id":"a7220af68ef7a8d7cc6426e097aad82b87d16189","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":"2016-10-18 07:45:55.000000000","message":"Patch Set 6:\n\nBuild Started http://cv.jenkins.couchbase.com/job/ep-engine-clang_analyzer-master/1270/ (3/4)","accounts_in_message":[],"_revision_number":6},{"id":"3d5f9c1880e896524341bf12ef69c3e2827016fe","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":"2016-10-18 07:49:46.000000000","message":"Patch Set 6:\n\nBuild Started http://cv.jenkins.couchbase.com/job/ep-engine-threadsanitizer-master/1491/ (4/4)","accounts_in_message":[],"_revision_number":6},{"id":"51b31651015bb964552fc2447e1bbe348ee72016","author":{"_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}]},"date":"2016-10-18 08:10:28.000000000","message":"Uploaded patch set 7.","accounts_in_message":[],"_revision_number":7},{"id":"cbeefd550dca5c486efbbd5b23c7da017bcf6ae1","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":"2016-10-18 08:10:28.000000000","message":"Patch Set 6: Verified-1\n\nBuild Failed \n\nhttp://cv.jenkins.couchbase.com/job/ep-engine-gerrit-master/1593/ : ABORTED\n\nhttp://cv.jenkins.couchbase.com/job/ep-engine-addresssanitizer-master/391/ : FAILURE\n\nFailure of a CTest test  ( http://cv.jenkins.couchbase.com//job/ep-engine-addresssanitizer-master/391/ )\n\nhttp://cv.jenkins.couchbase.com/job/ep-engine-threadsanitizer-master/1491/ : FAILURE\n\nFailure of a CTest test  ( http://cv.jenkins.couchbase.com//job/ep-engine-threadsanitizer-master/1491/ )\n\nhttp://cv.jenkins.couchbase.com/job/ep-engine-clang_analyzer-master/1270/ : SUCCESS","accounts_in_message":[],"_revision_number":6},{"id":"f283690062f638c0ddcbef2cf90000cfe3463626","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":"2016-10-18 08:10:38.000000000","message":"Patch Set 7:\n\nBuild Started http://cv.jenkins.couchbase.com/job/ep-engine-gerrit-master/1594/ (1/4)","accounts_in_message":[],"_revision_number":7},{"id":"3c2a02c71ec06f756a1645a746e1b2311e373ace","author":{"_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}]},"date":"2016-10-18 08:14:12.000000000","message":"Uploaded patch set 8.","accounts_in_message":[],"_revision_number":8},{"id":"41980a1cc66f502057a207f72ae078f36666c8fc","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":"2016-10-18 08:14:18.000000000","message":"Patch Set 8:\n\nBuild Started http://cv.jenkins.couchbase.com/job/ep-engine-gerrit-master/1595/ (1/4)","accounts_in_message":[],"_revision_number":8},{"id":"70a05b3243c30998bb4286cbac655feb2d0e0bd1","author":{"_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}]},"date":"2016-10-18 08:16:31.000000000","message":"Uploaded patch set 9.","accounts_in_message":[],"_revision_number":9},{"id":"adc59370efcaca0c368b1a0d04b5fe0ed49ee107","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":"2016-10-18 08:16:38.000000000","message":"Patch Set 9:\n\nBuild Started http://cv.jenkins.couchbase.com/job/ep-engine-gerrit-master/1596/ (1/4)","accounts_in_message":[],"_revision_number":9},{"id":"33f6dfddaee3556d737b424e8e1d55523e4d21ac","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":"2016-10-18 08:20:05.000000000","message":"Patch Set 9:\n\nBuild Started http://cv.jenkins.couchbase.com/job/ep-engine-addresssanitizer-master/392/ (2/4)","accounts_in_message":[],"_revision_number":9},{"id":"389e1b0ca70c8dfaa6deb59a79fcfda955f29c4c","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":"2016-10-18 08:23:12.000000000","message":"Patch Set 9:\n\nBuild Started http://cv.jenkins.couchbase.com/job/ep-engine-threadsanitizer-master/1492/ (3/4)","accounts_in_message":[],"_revision_number":9},{"id":"1437530d095944d0abfcb0ff48cd045768c72c11","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":"2016-10-18 08:26:52.000000000","message":"Patch Set 9:\n\nBuild Started http://cv.jenkins.couchbase.com/job/ep-engine-clang_analyzer-master/1271/ (4/4)","accounts_in_message":[],"_revision_number":9},{"id":"500dda2016974e9f142e20330aa3e08001b51258","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":"2016-10-18 08:37:20.000000000","message":"Patch Set 9: Verified+1\n\nBuild Successful \n\nhttp://cv.jenkins.couchbase.com/job/ep-engine-addresssanitizer-master/392/ : SUCCESS\n\nhttp://cv.jenkins.couchbase.com/job/ep-engine-clang_analyzer-master/1271/ : SUCCESS\n\nhttp://cv.jenkins.couchbase.com/job/ep-engine-threadsanitizer-master/1492/ : SUCCESS\n\nhttp://cv.jenkins.couchbase.com/job/ep-engine-gerrit-master/1596/ : SUCCESS","accounts_in_message":[],"_revision_number":9},{"id":"1361fde0212f15b7d18b8a5097aff0f4db7d5be4","author":{"_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}]},"date":"2016-10-19 12:54:28.000000000","message":"Uploaded patch set 10.","accounts_in_message":[],"_revision_number":10},{"id":"17f67729ee7ca08646d348371f1b918dc8139e3d","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":"2016-10-19 12:54:35.000000000","message":"Patch Set 10:\n\nBuild Started http://cv.jenkins.couchbase.com/job/ep-engine-gerrit-master/1615/ (1/4)","accounts_in_message":[],"_revision_number":10},{"id":"af0ceab367f435c52478b5a8dc03ff635a279691","author":{"_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}]},"date":"2016-10-19 12:57:01.000000000","message":"Uploaded patch set 11.","accounts_in_message":[],"_revision_number":11},{"id":"4f49afb94e9256cc5a6c1e124cf759db8e391f55","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":"2016-10-19 12:57:11.000000000","message":"Patch Set 11:\n\nBuild Started http://cv.jenkins.couchbase.com/job/ep-engine-gerrit-master/1616/ (1/4)","accounts_in_message":[],"_revision_number":11},{"id":"d66ac93794920857668931b6421c1746fb9a947c","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":"2016-10-19 13:05:01.000000000","message":"Patch Set 11:\n\nBuild Started http://cv.jenkins.couchbase.com/job/ep-engine-addresssanitizer-master/410/ (2/4)","accounts_in_message":[],"_revision_number":11},{"id":"0526d9cbdc298dba63f7d421c1baba210c29f61c","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":"2016-10-19 13:10:55.000000000","message":"Patch Set 11: Code-Review-1\n\n(1 comment)","accounts_in_message":[],"_revision_number":11},{"id":"5482c02485c10aa7d00629aff633ebb9b0f58077","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":"2016-10-19 13:11:54.000000000","message":"Patch Set 11:\n\nBuild Started http://cv.jenkins.couchbase.com/job/ep-engine-clang_analyzer-master/1288/ (3/4)","accounts_in_message":[],"_revision_number":11},{"id":"2ebc55423ed2758f65aa07fd2b22ed8689c03479","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":"2016-10-19 13:12:00.000000000","message":"Patch Set 11:\n\nBuild Started http://cv.jenkins.couchbase.com/job/ep-engine-threadsanitizer-master/1513/ (4/4)","accounts_in_message":[],"_revision_number":11},{"id":"cb5eae1eded5d8f51c65a4ca27e132aea840e936","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":"2016-10-19 13:26:56.000000000","message":"Patch Set 11: Verified+1\n\nBuild Successful \n\nhttp://cv.jenkins.couchbase.com/job/ep-engine-addresssanitizer-master/410/ : SUCCESS\n\nhttp://cv.jenkins.couchbase.com/job/ep-engine-clang_analyzer-master/1288/ : SUCCESS\n\nhttp://cv.jenkins.couchbase.com/job/ep-engine-threadsanitizer-master/1513/ : SUCCESS\n\nhttp://cv.jenkins.couchbase.com/job/ep-engine-gerrit-master/1616/ : SUCCESS","accounts_in_message":[],"_revision_number":11},{"id":"d1b10a3faf4e72d5bf1847d83ce02af1d3c48d09","author":{"_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}]},"date":"2016-10-19 13:32:21.000000000","message":"Patch Set 11:\n\n(1 comment)","accounts_in_message":[],"_revision_number":11},{"id":"757a801b8836f40ffc874d24eafa049cfe1c5731","author":{"_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}]},"date":"2016-10-19 13:38:46.000000000","message":"Patch Set 11:\n\nExanding a little on the comment.  The reason I believe get_stats_mutex is required, is take the following example, where we have two threads executing get_stats (function at line 1161).\n\nIn thread1 we have just returned from h1-\u003eget_stats (line 1173) but before continuing execution of the function, thread2 executes the block of code at line 1163 - clearing out the actual_stat_value.  When thread1 resumes to return actual_stat_value it is now empty.","accounts_in_message":[],"_revision_number":11},{"id":"73e62f2c1b5dddf4a68a1d3d54b00065dfcb4ef3","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":"2016-10-19 13:45:36.000000000","message":"Patch Set 11:\n\n(1 comment)","accounts_in_message":[],"_revision_number":11},{"id":"5177b4f1aa9538c4334541029ed75bd8d6906430","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":"2016-10-19 13:49:08.000000000","message":"Patch Set 11:\n\nAlso - from the TSan report I don\u0027t see how a std::string is being assigned - add_casted_stat doesn\u0027t do anything with strings. Is that a Debug backtrace? if not does the Debug one show any more info?\n\nI suspect you\u0027re hitting the std::string COW bug...","accounts_in_message":[],"_revision_number":11},{"id":"02da0ba5bf6ee6b4cee5c5c79d10d0b758a6272c","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":"2016-10-19 13:50:32.000000000","message":"Patch Set 11:\n\n\u003e Exanding a little on the comment.  The reason I believe\n \u003e get_stats_mutex is required, is take the following example, where\n \u003e we have two threads executing get_stats (function at line 1161).\n \u003e \n \u003e In thread1 we have just returned from h1-\u003eget_stats (line 1173) but\n \u003e before continuing execution of the function, thread2 executes the\n \u003e block of code at line 1163 - clearing out the actual_stat_value. \n \u003e When thread1 resumes to return actual_stat_value it is now empty.\n\nSo in that case it sounds like we need to revert the changes in get_stats to hold the (old) vals_mutex for the duration of that function call (as it used to).","accounts_in_message":[],"_revision_number":11},{"id":"bab2cbe108a6b22761a6e32952339bb1ac7a7810","author":{"_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}]},"date":"2016-10-19 13:55:23.000000000","message":"Patch Set 11:\n\n(1 comment)","accounts_in_message":[],"_revision_number":11},{"id":"d27307d8849c7998b0bde15dc155eccbeeeec6c5","author":{"_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}]},"date":"2016-10-19 14:57:42.000000000","message":"Uploaded patch set 12: Commit message was updated.","accounts_in_message":[],"_revision_number":12},{"id":"906d7b7c963b9a880c19e02e2f8946b8ed0f0536","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":"2016-10-19 14:57:53.000000000","message":"Patch Set 12:\n\nBuild Started http://cv.jenkins.couchbase.com/job/ep-engine-addresssanitizer-master/411/ (1/4)","accounts_in_message":[],"_revision_number":12},{"id":"d24d56dbd473110d5dca7c79570f09bbead00091","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":"2016-10-19 14:57:53.000000000","message":"Patch Set 12:\n\nBuild Started http://cv.jenkins.couchbase.com/job/ep-engine-gerrit-master/1617/ (2/4)","accounts_in_message":[],"_revision_number":12},{"id":"a9dccd18e170b0c85391923c3c9b8046eacd719f","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":"2016-10-19 14:57:53.000000000","message":"Patch Set 12:\n\nBuild Started http://cv.jenkins.couchbase.com/job/ep-engine-clang_analyzer-master/1289/ (3/4)","accounts_in_message":[],"_revision_number":12},{"id":"e5de75b02eccb57ed1dafe76275e6a5d9fcdc3d7","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":"2016-10-19 14:57:53.000000000","message":"Patch Set 12:\n\nBuild Started http://cv.jenkins.couchbase.com/job/ep-engine-threadsanitizer-master/1515/ (4/4)","accounts_in_message":[],"_revision_number":12},{"id":"eff2721dd6b0da8700819a22daf6fb344986b0b9","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":"2016-10-19 15:10:52.000000000","message":"Patch Set 12: Code-Review-1\n\n(10 comments)","accounts_in_message":[],"_revision_number":12},{"id":"b1b42a1b4035a8c9e5f6a204207816de5dbd0e2d","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":"2016-10-19 15:13:43.000000000","message":"Patch Set 12: Verified-1\n\nBuild Failed \n\nhttp://cv.jenkins.couchbase.com/job/ep-engine-threadsanitizer-master/1515/ : FAILURE\n\nFailure of a CTest test  ( http://cv.jenkins.couchbase.com//job/ep-engine-threadsanitizer-master/1515/ )\n\nhttp://cv.jenkins.couchbase.com/job/ep-engine-addresssanitizer-master/411/ : SUCCESS\n\nhttp://cv.jenkins.couchbase.com/job/ep-engine-clang_analyzer-master/1289/ : SUCCESS\n\nhttp://cv.jenkins.couchbase.com/job/ep-engine-gerrit-master/1617/ : SUCCESS","accounts_in_message":[],"_revision_number":12},{"id":"19f92f1dbb4ce7cb76e78c85673f334f3636b119","author":{"_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}]},"date":"2016-10-19 16:48:15.000000000","message":"Uploaded patch set 13.","accounts_in_message":[],"_revision_number":13},{"id":"a031a5f81c2c9de7ac1e1fb654ece4391b3180c2","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":"2016-10-19 16:48:24.000000000","message":"Patch Set 13:\n\nBuild Started http://cv.jenkins.couchbase.com/job/ep-engine-gerrit-master/1618/ (1/4)","accounts_in_message":[],"_revision_number":13},{"id":"d2ca2bf20ca442ff2ee4ba31edb2a2a63eeb4653","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":"2016-10-19 16:48:24.000000000","message":"Patch Set 13:\n\nBuild Started http://cv.jenkins.couchbase.com/job/ep-engine-clang_analyzer-master/1290/ (2/4)","accounts_in_message":[],"_revision_number":13},{"id":"385bfbbbb1816ddf644d1271809b17faf96aab95","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":"2016-10-19 16:48:24.000000000","message":"Patch Set 13:\n\nBuild Started http://cv.jenkins.couchbase.com/job/ep-engine-threadsanitizer-master/1516/ (3/4)","accounts_in_message":[],"_revision_number":13},{"id":"80c9f68d61192ca64a2108058aa2212a66fb3d6f","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":"2016-10-19 16:48:25.000000000","message":"Patch Set 13:\n\nBuild Started http://cv.jenkins.couchbase.com/job/ep-engine-addresssanitizer-master/412/ (4/4)","accounts_in_message":[],"_revision_number":13},{"id":"8dc8b80a1b199a95594ad910d3ca41df1d384ad7","author":{"_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}]},"date":"2016-10-19 16:48:29.000000000","message":"Patch Set 12:\n\n(10 comments)","accounts_in_message":[],"_revision_number":12},{"id":"da0c1836db23c6cdf9645937eba90c4f890b9a3d","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":"2016-10-19 16:57:01.000000000","message":"Patch Set 13: Code-Review-1\n\n(2 comments)","accounts_in_message":[],"_revision_number":13},{"id":"85c69633f9398264c9d2f6f758b39c5475304edf","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":"2016-10-19 17:03:39.000000000","message":"Patch Set 13: Verified+1\n\nBuild Successful \n\nhttp://cv.jenkins.couchbase.com/job/ep-engine-addresssanitizer-master/412/ : SUCCESS\n\nhttp://cv.jenkins.couchbase.com/job/ep-engine-clang_analyzer-master/1290/ : SUCCESS\n\nhttp://cv.jenkins.couchbase.com/job/ep-engine-threadsanitizer-master/1516/ : SUCCESS\n\nhttp://cv.jenkins.couchbase.com/job/ep-engine-gerrit-master/1618/ : SUCCESS","accounts_in_message":[],"_revision_number":13},{"id":"e6d9ed0bc2edf19b567c96295a41a10bd7de6e73","author":{"_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}]},"date":"2016-10-19 17:32:39.000000000","message":"Uploaded patch set 14.","accounts_in_message":[],"_revision_number":14},{"id":"e96c9704d7887db6aabcbd96313dbbf5048254c6","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":"2016-10-19 17:32:49.000000000","message":"Patch Set 14:\n\nBuild Started http://cv.jenkins.couchbase.com/job/ep-engine-threadsanitizer-master/1517/ (1/4)","accounts_in_message":[],"_revision_number":14},{"id":"e89c80c11350fdbbfe06094f56264bdbc65e30ee","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":"2016-10-19 17:32:49.000000000","message":"Patch Set 14:\n\nBuild Started http://cv.jenkins.couchbase.com/job/ep-engine-addresssanitizer-master/413/ (2/4)","accounts_in_message":[],"_revision_number":14},{"id":"f9a7e4ac5b253f498db4befc44555e3b6422c482","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":"2016-10-19 17:32:50.000000000","message":"Patch Set 14:\n\nBuild Started http://cv.jenkins.couchbase.com/job/ep-engine-clang_analyzer-master/1291/ (3/4)","accounts_in_message":[],"_revision_number":14},{"id":"e9c2e8310159838f3e10f307559a7f899f53900e","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":"2016-10-19 17:32:50.000000000","message":"Patch Set 14:\n\nBuild Started http://cv.jenkins.couchbase.com/job/ep-engine-gerrit-master/1619/ (4/4)","accounts_in_message":[],"_revision_number":14},{"id":"d770c18c342bbfac61ed92ca760ef4766441a849","author":{"_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}]},"date":"2016-10-19 17:34:31.000000000","message":"Patch Set 13:\n\n(2 comments)","accounts_in_message":[],"_revision_number":13},{"id":"5392853d23c94600565359beffa8a3e3af560149","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":"2016-10-19 17:39:45.000000000","message":"Patch Set 14: Code-Review-1\n\n(1 comment)","accounts_in_message":[],"_revision_number":14},{"id":"052d15daba9bfa872fcba92d70246481f17bd274","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":"2016-10-19 17:49:27.000000000","message":"Patch Set 14: Verified+1\n\nBuild Successful \n\nhttp://cv.jenkins.couchbase.com/job/ep-engine-addresssanitizer-master/413/ : SUCCESS\n\nhttp://cv.jenkins.couchbase.com/job/ep-engine-clang_analyzer-master/1291/ : SUCCESS\n\nhttp://cv.jenkins.couchbase.com/job/ep-engine-threadsanitizer-master/1517/ : SUCCESS\n\nhttp://cv.jenkins.couchbase.com/job/ep-engine-gerrit-master/1619/ : SUCCESS","accounts_in_message":[],"_revision_number":14},{"id":"2d7595d156a0ec53738b63f2b57e4e9f7a08c37c","author":{"_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}]},"date":"2016-10-20 09:33:18.000000000","message":"Uploaded patch set 15.","accounts_in_message":[],"_revision_number":15},{"id":"ed5a46ca60e329b46c2d10d6712236d3b039c2e4","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":"2016-10-20 09:33:28.000000000","message":"Patch Set 15:\n\nBuild Started http://cv.jenkins.couchbase.com/job/ep-engine-addresssanitizer-master/428/ (1/4)","accounts_in_message":[],"_revision_number":15},{"id":"b87f8b1752905f8f128f2562c012c4828c8c9a1f","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":"2016-10-20 09:33:29.000000000","message":"Patch Set 15:\n\nBuild Started http://cv.jenkins.couchbase.com/job/ep-engine-clang_analyzer-master/1304/ (2/4)","accounts_in_message":[],"_revision_number":15},{"id":"46add2ffae60f6a70da78a522c6ae1e065c37778","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":"2016-10-20 09:33:29.000000000","message":"Patch Set 15:\n\nBuild Started http://cv.jenkins.couchbase.com/job/ep-engine-gerrit-master/1634/ (3/4)","accounts_in_message":[],"_revision_number":15},{"id":"5a857906a8755b4bf007a8b739648b9b9166e1a3","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":"2016-10-20 09:33:29.000000000","message":"Patch Set 15:\n\nBuild Started http://cv.jenkins.couchbase.com/job/ep-engine-threadsanitizer-master/1532/ (4/4)","accounts_in_message":[],"_revision_number":15},{"id":"4ad81ec24dd2b485df3741c7228a24f35ea43d15","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":"2016-10-20 09:36:42.000000000","message":"Patch Set 15: Code-Review+2","accounts_in_message":[],"_revision_number":15},{"id":"7eb3fed57097a9b10a7e2f03a9a7b9206b7a3127","author":{"_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}]},"date":"2016-10-20 09:37:07.000000000","message":"Uploaded patch set 16.","accounts_in_message":[],"_revision_number":16},{"id":"a2db2e84a0c251b920d22c8957767e957a13ea27","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":"2016-10-20 09:37:08.000000000","message":"Patch Set 15: Verified-1\n\nBuild Failed \n\nhttp://cv.jenkins.couchbase.com/job/ep-engine-addresssanitizer-master/428/ : ABORTED\n\nhttp://cv.jenkins.couchbase.com/job/ep-engine-clang_analyzer-master/1304/ : ABORTED\n\nhttp://cv.jenkins.couchbase.com/job/ep-engine-threadsanitizer-master/1532/ : ABORTED\n\nhttp://cv.jenkins.couchbase.com/job/ep-engine-gerrit-master/1634/ : ABORTED","accounts_in_message":[],"_revision_number":15},{"id":"93d85b9c2e654325dd58e05dff0d29b66d246ced","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":"2016-10-20 09:37:13.000000000","message":"Patch Set 16:\n\nBuild Started http://cv.jenkins.couchbase.com/job/ep-engine-gerrit-master/1635/ (1/4)","accounts_in_message":[],"_revision_number":16},{"id":"4bdd977540429eefebd79bedb9197759053d7e87","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":"2016-10-20 09:37:14.000000000","message":"Patch Set 16:\n\nBuild Started http://cv.jenkins.couchbase.com/job/ep-engine-threadsanitizer-master/1533/ (2/4)","accounts_in_message":[],"_revision_number":16},{"id":"960c2906cf76da1af05ee4214684fe7f6c07bf61","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":"2016-10-20 09:37:14.000000000","message":"Patch Set 16:\n\nBuild Started http://cv.jenkins.couchbase.com/job/ep-engine-addresssanitizer-master/429/ (3/4)","accounts_in_message":[],"_revision_number":16},{"id":"f40256b592db7eb58bc6f10adcb74b784d9436eb","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":"2016-10-20 09:37:14.000000000","message":"Patch Set 16:\n\nBuild Started http://cv.jenkins.couchbase.com/job/ep-engine-clang_analyzer-master/1305/ (4/4)","accounts_in_message":[],"_revision_number":16},{"id":"9483e3eeaed64f6f68ee94617adf4d46e2e9f031","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":"2016-10-20 09:41:17.000000000","message":"Patch Set 16: Code-Review+2","accounts_in_message":[],"_revision_number":16},{"id":"26b3509f5a5854fae37bc170ca3423fb84b380e5","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":"2016-10-20 09:53:08.000000000","message":"Patch Set 16: Verified+1\n\nBuild Successful \n\nhttp://cv.jenkins.couchbase.com/job/ep-engine-addresssanitizer-master/429/ : SUCCESS\n\nhttp://cv.jenkins.couchbase.com/job/ep-engine-clang_analyzer-master/1305/ : SUCCESS\n\nhttp://cv.jenkins.couchbase.com/job/ep-engine-threadsanitizer-master/1533/ : SUCCESS\n\nhttp://cv.jenkins.couchbase.com/job/ep-engine-gerrit-master/1635/ : SUCCESS","accounts_in_message":[],"_revision_number":16},{"id":"2400ceaee3ef73f2a604464d2083d4f8a3e1873e","date":"2016-10-20 15:19:18.000000000","message":"Change has been successfully cherry-picked as d775e169d9eec9807ba3ed2afd8e2b4a51c5f122 by Dave Rigby","accounts_in_message":[],"_revision_number":16}],"current_revision_number":17,"current_revision":"d775e169d9eec9807ba3ed2afd8e2b4a51c5f122","revisions":{"34a5979f54480391cc3ea62caad2459d3624dbd1":{"kind":"REWORK","_number":1,"created":"2016-10-17 16:49:06.000000000","uploader":{"_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}]},"ref":"refs/changes/13/68813/1","fetch":{"anonymous http":{"url":"https://review.couchbase.org/ep-engine","ref":"refs/changes/13/68813/1","commands":{"Branch":"git fetch https://review.couchbase.org/ep-engine refs/changes/13/68813/1 \u0026\u0026 git checkout -b change-68813 FETCH_HEAD","Checkout":"git fetch https://review.couchbase.org/ep-engine refs/changes/13/68813/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.couchbase.org/ep-engine refs/changes/13/68813/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.couchbase.org/ep-engine refs/changes/13/68813/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.couchbase.org/ep-engine refs/changes/13/68813/1","Reset To":"git fetch https://review.couchbase.org/ep-engine refs/changes/13/68813/1 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"4f6ad236fcef46e6290302ca492edf60400a6281","subject":"Merge remote-tracking branch \u0027couchbase/watson\u0027"}],"author":{"name":"Daniel Owen","email":"owend@couchbase.com","date":"2016-10-17 16:34:08.000000000","tz":60},"committer":{"name":"Daniel Owen","email":"owend@couchbase.com","date":"2016-10-17 16:34:08.000000000","tz":60},"subject":"MB-21379","message":"MB-21379\n\nChange-Id: I7bdc847c0913244409fa044e312d53b484dc2dab\n"},"parents_data":[{"branch_name":"refs/heads/master","commit_id":"4f6ad236fcef46e6290302ca492edf60400a6281","is_merged_in_target_branch":true,"change_id":"Ib7ff2b1457a2de5d9b448fcfa79017b1e67877e1","change_number":68754,"patch_set_number":1,"change_status":"MERGED"}],"branch":"refs/heads/master"},"2624a635ca302b7c2acf773d1e3e3ca31250117d":{"kind":"REWORK","_number":2,"created":"2016-10-17 18:30:56.000000000","uploader":{"_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}]},"ref":"refs/changes/13/68813/2","fetch":{"anonymous http":{"url":"https://review.couchbase.org/ep-engine","ref":"refs/changes/13/68813/2","commands":{"Branch":"git fetch https://review.couchbase.org/ep-engine refs/changes/13/68813/2 \u0026\u0026 git checkout -b change-68813 FETCH_HEAD","Checkout":"git fetch https://review.couchbase.org/ep-engine refs/changes/13/68813/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.couchbase.org/ep-engine refs/changes/13/68813/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.couchbase.org/ep-engine refs/changes/13/68813/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.couchbase.org/ep-engine refs/changes/13/68813/2","Reset To":"git fetch https://review.couchbase.org/ep-engine refs/changes/13/68813/2 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"4f6ad236fcef46e6290302ca492edf60400a6281","subject":"Merge remote-tracking branch \u0027couchbase/watson\u0027"}],"author":{"name":"Daniel Owen","email":"owend@couchbase.com","date":"2016-10-17 16:34:08.000000000","tz":60},"committer":{"name":"Daniel Owen","email":"owend@couchbase.com","date":"2016-10-17 18:30:38.000000000","tz":60},"subject":"MB-21379","message":"MB-21379\n\nChange-Id: I7bdc847c0913244409fa044e312d53b484dc2dab\n"},"parents_data":[{"branch_name":"refs/heads/master","commit_id":"4f6ad236fcef46e6290302ca492edf60400a6281","is_merged_in_target_branch":true,"change_id":"Ib7ff2b1457a2de5d9b448fcfa79017b1e67877e1","change_number":68754,"patch_set_number":1,"change_status":"MERGED"}],"branch":"refs/heads/master"},"a17b50f75443ff0b516c4889b0958d4657c5a479":{"kind":"REWORK","_number":3,"created":"2016-10-17 18:44:22.000000000","uploader":{"_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}]},"ref":"refs/changes/13/68813/3","fetch":{"anonymous http":{"url":"https://review.couchbase.org/ep-engine","ref":"refs/changes/13/68813/3","commands":{"Branch":"git fetch https://review.couchbase.org/ep-engine refs/changes/13/68813/3 \u0026\u0026 git checkout -b change-68813 FETCH_HEAD","Checkout":"git fetch https://review.couchbase.org/ep-engine refs/changes/13/68813/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.couchbase.org/ep-engine refs/changes/13/68813/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.couchbase.org/ep-engine refs/changes/13/68813/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.couchbase.org/ep-engine refs/changes/13/68813/3","Reset To":"git fetch https://review.couchbase.org/ep-engine refs/changes/13/68813/3 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"4f6ad236fcef46e6290302ca492edf60400a6281","subject":"Merge remote-tracking branch \u0027couchbase/watson\u0027"}],"author":{"name":"Daniel Owen","email":"owend@couchbase.com","date":"2016-10-17 16:34:08.000000000","tz":60},"committer":{"name":"Daniel Owen","email":"owend@couchbase.com","date":"2016-10-17 18:44:10.000000000","tz":60},"subject":"MB-21379","message":"MB-21379\n\nChange-Id: I7bdc847c0913244409fa044e312d53b484dc2dab\n"},"parents_data":[{"branch_name":"refs/heads/master","commit_id":"4f6ad236fcef46e6290302ca492edf60400a6281","is_merged_in_target_branch":true,"change_id":"Ib7ff2b1457a2de5d9b448fcfa79017b1e67877e1","change_number":68754,"patch_set_number":1,"change_status":"MERGED"}],"branch":"refs/heads/master"},"30ac9622e4e09572b8595691f8886e9def5de08f":{"kind":"NO_CHANGE","_number":4,"created":"2016-10-17 20:34:53.000000000","uploader":{"_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}]},"ref":"refs/changes/13/68813/4","fetch":{"anonymous http":{"url":"https://review.couchbase.org/ep-engine","ref":"refs/changes/13/68813/4","commands":{"Branch":"git fetch https://review.couchbase.org/ep-engine refs/changes/13/68813/4 \u0026\u0026 git checkout -b change-68813 FETCH_HEAD","Checkout":"git fetch https://review.couchbase.org/ep-engine refs/changes/13/68813/4 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.couchbase.org/ep-engine refs/changes/13/68813/4 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.couchbase.org/ep-engine refs/changes/13/68813/4 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.couchbase.org/ep-engine refs/changes/13/68813/4","Reset To":"git fetch https://review.couchbase.org/ep-engine refs/changes/13/68813/4 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"b0e55e865ece8f6a7f961902f133d9f9ecb2598f","subject":"Merge remote-tracking branch \u0027couchbase/watson\u0027"}],"author":{"name":"Daniel Owen","email":"owend@couchbase.com","date":"2016-10-17 16:34:08.000000000","tz":60},"committer":{"name":"Daniel Owen","email":"owend@couchbase.com","date":"2016-10-17 20:34:42.000000000","tz":60},"subject":"MB-21379","message":"MB-21379\n\nChange-Id: I7bdc847c0913244409fa044e312d53b484dc2dab\n"},"parents_data":[{"branch_name":"refs/heads/master","commit_id":"b0e55e865ece8f6a7f961902f133d9f9ecb2598f","is_merged_in_target_branch":true,"change_id":"I910f7a90ff2d73318e0ff372fc7eff354dcace56","change_number":68799,"patch_set_number":1,"change_status":"MERGED"}],"branch":"refs/heads/master"},"6745c2b32b768fdd2868d631c925c84d9f89cc00":{"kind":"REWORK","_number":5,"created":"2016-10-17 22:04:21.000000000","uploader":{"_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}]},"ref":"refs/changes/13/68813/5","fetch":{"anonymous http":{"url":"https://review.couchbase.org/ep-engine","ref":"refs/changes/13/68813/5","commands":{"Branch":"git fetch https://review.couchbase.org/ep-engine refs/changes/13/68813/5 \u0026\u0026 git checkout -b change-68813 FETCH_HEAD","Checkout":"git fetch https://review.couchbase.org/ep-engine refs/changes/13/68813/5 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.couchbase.org/ep-engine refs/changes/13/68813/5 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.couchbase.org/ep-engine refs/changes/13/68813/5 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.couchbase.org/ep-engine refs/changes/13/68813/5","Reset To":"git fetch https://review.couchbase.org/ep-engine refs/changes/13/68813/5 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"b0e55e865ece8f6a7f961902f133d9f9ecb2598f","subject":"Merge remote-tracking branch \u0027couchbase/watson\u0027"}],"author":{"name":"Daniel Owen","email":"owend@couchbase.com","date":"2016-10-17 16:34:08.000000000","tz":60},"committer":{"name":"Daniel Owen","email":"owend@couchbase.com","date":"2016-10-17 22:04:11.000000000","tz":60},"subject":"MB-21379","message":"MB-21379\n\nChange-Id: I7bdc847c0913244409fa044e312d53b484dc2dab\n"},"parents_data":[{"branch_name":"refs/heads/master","commit_id":"b0e55e865ece8f6a7f961902f133d9f9ecb2598f","is_merged_in_target_branch":true,"change_id":"I910f7a90ff2d73318e0ff372fc7eff354dcace56","change_number":68799,"patch_set_number":1,"change_status":"MERGED"}],"branch":"refs/heads/master"},"a7dbe30aadcbd1d7f04e5ca42626a55339b5b790":{"kind":"REWORK","_number":6,"created":"2016-10-18 07:44:54.000000000","uploader":{"_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}]},"ref":"refs/changes/13/68813/6","fetch":{"anonymous http":{"url":"https://review.couchbase.org/ep-engine","ref":"refs/changes/13/68813/6","commands":{"Branch":"git fetch https://review.couchbase.org/ep-engine refs/changes/13/68813/6 \u0026\u0026 git checkout -b change-68813 FETCH_HEAD","Checkout":"git fetch https://review.couchbase.org/ep-engine refs/changes/13/68813/6 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.couchbase.org/ep-engine refs/changes/13/68813/6 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.couchbase.org/ep-engine refs/changes/13/68813/6 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.couchbase.org/ep-engine refs/changes/13/68813/6","Reset To":"git fetch https://review.couchbase.org/ep-engine refs/changes/13/68813/6 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"20158775e992ebff36c9c51e60d9acb50db5229e","subject":"Merge remote-tracking branch \u0027couchbase/watson\u0027"}],"author":{"name":"Daniel Owen","email":"owend@couchbase.com","date":"2016-10-17 16:34:08.000000000","tz":60},"committer":{"name":"Daniel Owen","email":"owend@couchbase.com","date":"2016-10-18 07:44:43.000000000","tz":60},"subject":"MB-21379","message":"MB-21379\n\nChange-Id: I7bdc847c0913244409fa044e312d53b484dc2dab\n"},"parents_data":[{"branch_name":"refs/heads/master","commit_id":"20158775e992ebff36c9c51e60d9acb50db5229e","is_merged_in_target_branch":true,"change_id":"Ieaf8c994b597ce7274af5d25d6691f28f3f4ea37","change_number":68810,"patch_set_number":2,"change_status":"MERGED"}],"branch":"refs/heads/master"},"ee8678ecbe7d76f8a9e6beb7ee307296a7778fd4":{"kind":"REWORK","_number":7,"created":"2016-10-18 08:10:28.000000000","uploader":{"_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}]},"ref":"refs/changes/13/68813/7","fetch":{"anonymous http":{"url":"https://review.couchbase.org/ep-engine","ref":"refs/changes/13/68813/7","commands":{"Branch":"git fetch https://review.couchbase.org/ep-engine refs/changes/13/68813/7 \u0026\u0026 git checkout -b change-68813 FETCH_HEAD","Checkout":"git fetch https://review.couchbase.org/ep-engine refs/changes/13/68813/7 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.couchbase.org/ep-engine refs/changes/13/68813/7 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.couchbase.org/ep-engine refs/changes/13/68813/7 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.couchbase.org/ep-engine refs/changes/13/68813/7","Reset To":"git fetch https://review.couchbase.org/ep-engine refs/changes/13/68813/7 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"20158775e992ebff36c9c51e60d9acb50db5229e","subject":"Merge remote-tracking branch \u0027couchbase/watson\u0027"}],"author":{"name":"Daniel Owen","email":"owend@couchbase.com","date":"2016-10-17 16:34:08.000000000","tz":60},"committer":{"name":"Daniel Owen","email":"owend@couchbase.com","date":"2016-10-18 08:10:14.000000000","tz":60},"subject":"MB-21379","message":"MB-21379\n\nChange-Id: I7bdc847c0913244409fa044e312d53b484dc2dab\n"},"parents_data":[{"branch_name":"refs/heads/master","commit_id":"20158775e992ebff36c9c51e60d9acb50db5229e","is_merged_in_target_branch":true,"change_id":"Ieaf8c994b597ce7274af5d25d6691f28f3f4ea37","change_number":68810,"patch_set_number":2,"change_status":"MERGED"}],"branch":"refs/heads/master"},"42097df504efdf4db48a1009dee3e04dfa121afa":{"kind":"REWORK","_number":8,"created":"2016-10-18 08:14:12.000000000","uploader":{"_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}]},"ref":"refs/changes/13/68813/8","fetch":{"anonymous http":{"url":"https://review.couchbase.org/ep-engine","ref":"refs/changes/13/68813/8","commands":{"Branch":"git fetch https://review.couchbase.org/ep-engine refs/changes/13/68813/8 \u0026\u0026 git checkout -b change-68813 FETCH_HEAD","Checkout":"git fetch https://review.couchbase.org/ep-engine refs/changes/13/68813/8 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.couchbase.org/ep-engine refs/changes/13/68813/8 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.couchbase.org/ep-engine refs/changes/13/68813/8 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.couchbase.org/ep-engine refs/changes/13/68813/8","Reset To":"git fetch https://review.couchbase.org/ep-engine refs/changes/13/68813/8 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"20158775e992ebff36c9c51e60d9acb50db5229e","subject":"Merge remote-tracking branch \u0027couchbase/watson\u0027"}],"author":{"name":"Daniel Owen","email":"owend@couchbase.com","date":"2016-10-17 16:34:08.000000000","tz":60},"committer":{"name":"Daniel Owen","email":"owend@couchbase.com","date":"2016-10-18 08:13:55.000000000","tz":60},"subject":"MB-21379","message":"MB-21379\n\nChange-Id: I7bdc847c0913244409fa044e312d53b484dc2dab\n"},"parents_data":[{"branch_name":"refs/heads/master","commit_id":"20158775e992ebff36c9c51e60d9acb50db5229e","is_merged_in_target_branch":true,"change_id":"Ieaf8c994b597ce7274af5d25d6691f28f3f4ea37","change_number":68810,"patch_set_number":2,"change_status":"MERGED"}],"branch":"refs/heads/master"},"c9a055750d78c7ef7c199a34922c7720c216ce3a":{"kind":"REWORK","_number":9,"created":"2016-10-18 08:16:31.000000000","uploader":{"_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}]},"ref":"refs/changes/13/68813/9","fetch":{"anonymous http":{"url":"https://review.couchbase.org/ep-engine","ref":"refs/changes/13/68813/9","commands":{"Branch":"git fetch https://review.couchbase.org/ep-engine refs/changes/13/68813/9 \u0026\u0026 git checkout -b change-68813 FETCH_HEAD","Checkout":"git fetch https://review.couchbase.org/ep-engine refs/changes/13/68813/9 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.couchbase.org/ep-engine refs/changes/13/68813/9 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.couchbase.org/ep-engine refs/changes/13/68813/9 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.couchbase.org/ep-engine refs/changes/13/68813/9","Reset To":"git fetch https://review.couchbase.org/ep-engine refs/changes/13/68813/9 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"20158775e992ebff36c9c51e60d9acb50db5229e","subject":"Merge remote-tracking branch \u0027couchbase/watson\u0027"}],"author":{"name":"Daniel Owen","email":"owend@couchbase.com","date":"2016-10-17 16:34:08.000000000","tz":60},"committer":{"name":"Daniel Owen","email":"owend@couchbase.com","date":"2016-10-18 08:16:18.000000000","tz":60},"subject":"MB-21379","message":"MB-21379\n\nChange-Id: I7bdc847c0913244409fa044e312d53b484dc2dab\n"},"parents_data":[{"branch_name":"refs/heads/master","commit_id":"20158775e992ebff36c9c51e60d9acb50db5229e","is_merged_in_target_branch":true,"change_id":"Ieaf8c994b597ce7274af5d25d6691f28f3f4ea37","change_number":68810,"patch_set_number":2,"change_status":"MERGED"}],"branch":"refs/heads/master"},"da766150e2fa0fa69144daaf62c6577e8d82cfc0":{"kind":"REWORK","_number":10,"created":"2016-10-19 12:54:28.000000000","uploader":{"_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}]},"ref":"refs/changes/13/68813/10","fetch":{"anonymous http":{"url":"https://review.couchbase.org/ep-engine","ref":"refs/changes/13/68813/10","commands":{"Branch":"git fetch https://review.couchbase.org/ep-engine refs/changes/13/68813/10 \u0026\u0026 git checkout -b change-68813 FETCH_HEAD","Checkout":"git fetch https://review.couchbase.org/ep-engine refs/changes/13/68813/10 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.couchbase.org/ep-engine refs/changes/13/68813/10 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.couchbase.org/ep-engine refs/changes/13/68813/10 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.couchbase.org/ep-engine refs/changes/13/68813/10","Reset To":"git fetch https://review.couchbase.org/ep-engine refs/changes/13/68813/10 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"29bb51e4a6961e89b215aa8a6e7d2a9d3747b7ed","subject":"Use \u003d\u003d and compare instead of strncmp in getStats"}],"author":{"name":"Daniel Owen","email":"owend@couchbase.com","date":"2016-10-17 16:34:08.000000000","tz":60},"committer":{"name":"Daniel Owen","email":"owend@couchbase.com","date":"2016-10-19 12:50:22.000000000","tz":60},"subject":"MB-21379: Ensure vals data structure is thread safe in ep_testsuite","message":"MB-21379: Ensure vals data structure is thread safe in ep_testsuite\n\nWhen developing additional stats test for ep-engine_perfsuite, the\nfollowing data race was uncovered.\n\nThe patch ensures that access to vals, requested_stat_name and\nactual_stat_value are protected with a mutex.  It has been\nconfirmed that with this patch the ThreadSanitizer issue no longer\noccurs.\n\n30: Running [0007/0009]: Stat latency with set executed in separate thread (couchstore)...\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n30: WARNING: ThreadSanitizer: data race (pid\u003d35923)\n30:   Write of size 1 at 0x7d180004aff2 by thread T15:\n30:     #0 memcpy \u003cnull\u003e (libtsan.so.0+0x00000002617a)\n30:     #1 std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e::_M_assign(std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const\u0026) \u003cnull\u003e (libstdc++.so.6+0x00000011f3c1)\n30:     #2 STATWRITER_NAMESPACE::add_casted_stat(char const*, char const*, void (*)(char const*, unsigned short, char const*, unsigned int, void const*), void const*) /home/owend/master/ep-engine/src/statwriter.h:39 (ep.so+0x0000000e5c04)\n30:     #3 StatCheckpointVisitor::addCheckpointStat(void const*, void (*)(char const*, unsigned short, char const*, unsigned int, void const*), EventuallyPersistentStore*, RCPtr\u003cVBucket\u003e\u0026) \u003cnull\u003e (ep.so+0x0000001c3088)\n30:     #4 StatCheckpointVisitor::visitBucket(RCPtr\u003cVBucket\u003e\u0026) \u003cnull\u003e (ep.so+0x0000001c2f79)\n30:     #5 EventuallyPersistentStore::visit(VBucketVisitor\u0026) /home/owend/master/ep-engine/src/ep.cc:3837 (ep.so+0x000000175389)\n30:     #6 StatCheckpointTask::run() \u003cnull\u003e (ep.so+0x0000001c33a9)\n30:     #7 ExecutorThread::run() /home/owend/master/ep-engine/src/executorthread.cc:113 (ep.so+0x0000001ec745)\n30:     #8 launch_executor_thread /home/owend/master/ep-engine/src/executorthread.cc:31 (ep.so+0x0000001ebea8)\n30:     #9 CouchbaseThread::run() /home/owend/master/platform/src/cb_pthreads.cc:58 (libplatform_so.so.0.1.0+0x00000000c9c7)\n30:     #10 platform_thread_wrap /home/owend/master/platform/src/cb_pthreads.cc:71 (libplatform_so.so.0.1.0+0x00000000affe)\n30:     #11 \u003cnull\u003e \u003cnull\u003e (libtsan.so.0+0x0000000230d9)\n30:\n30:   Previous write of size 1 at 0x7d180004aff2 by thread T16:\n30:     #0 memcpy \u003cnull\u003e (libtsan.so.0+0x00000002617a)\n30:     #1 std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e::_M_assign(std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const\u0026) \u003cnull\u003e (libstdc++.so.6+0x00000011f3c1)\n30:     #2 STATWRITER_NAMESPACE::add_casted_stat(char const*, char const*, void (*)(char const*, unsigned short, char const*, unsigned int, void const*), void const*) /home/owend/master/ep-engine/src/statwriter.h:39 (ep.so+0x0000000e5c04)\n30:     #3 StatCheckpointVisitor::addCheckpointStat(void const*, void (*)(char const*, unsigned short, char const*, unsigned int, void const*), EventuallyPersistentStore*, RCPtr\u003cVBucket\u003e\u0026) \u003cnull\u003e (ep.so+0x0000001c3088)\n30:     #4 StatCheckpointVisitor::visitBucket(RCPtr\u003cVBucket\u003e\u0026) \u003cnull\u003e (ep.so+0x0000001c2f79)\n30:     #5 EventuallyPersistentStore::visit(VBucketVisitor\u0026) /home/owend/master/ep-engine/src/ep.cc:3837 (ep.so+0x000000175389)\n30:     #6 StatCheckpointTask::run() \u003cnull\u003e (ep.so+0x0000001c33a9)\n30:     #7 ExecutorThread::run() /home/owend/master/ep-engine/src/executorthread.cc:113 (ep.so+0x0000001ec745)\n30:     #8 launch_executor_thread /home/owend/master/ep-engine/src/executorthread.cc:31 (ep.so+0x0000001ebea8)\n30:     #9 CouchbaseThread::run() /home/owend/master/platform/src/cb_pthreads.cc:58 (libplatform_so.so.0.1.0+0x00000000c9c7)\n30:     #10 platform_thread_wrap /home/owend/master/platform/src/cb_pthreads.cc:71 (libplatform_so.so.0.1.0+0x00000000affe)\n30:     #11 \u003cnull\u003e \u003cnull\u003e (libtsan.so.0+0x0000000230d9)\n\nThe patch renames the vals_mutex to be get_stats_mutex which protects\nagainst parallel calls to get_stats.  In addition a new vals_mutex is\ncreated which protects at a fine level of granuality the vals map and\nthe strings requested_stat_name and actual_stat_value from parallel\naccesses.\n\nChange-Id: I7bdc847c0913244409fa044e312d53b484dc2dab\n"},"parents_data":[{"branch_name":"refs/heads/master","commit_id":"29bb51e4a6961e89b215aa8a6e7d2a9d3747b7ed","is_merged_in_target_branch":true,"change_id":"I0b8fb8169d84698e293779c8e7d2bb6e75dc9686","change_number":68473,"patch_set_number":27,"change_status":"MERGED"}],"branch":"refs/heads/master"},"16fddcd1e6e6a26fe42cbace76284a0f7894d808":{"kind":"REWORK","_number":11,"created":"2016-10-19 12:57:01.000000000","uploader":{"_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}]},"ref":"refs/changes/13/68813/11","fetch":{"anonymous http":{"url":"https://review.couchbase.org/ep-engine","ref":"refs/changes/13/68813/11","commands":{"Branch":"git fetch https://review.couchbase.org/ep-engine refs/changes/13/68813/11 \u0026\u0026 git checkout -b change-68813 FETCH_HEAD","Checkout":"git fetch https://review.couchbase.org/ep-engine refs/changes/13/68813/11 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.couchbase.org/ep-engine refs/changes/13/68813/11 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.couchbase.org/ep-engine refs/changes/13/68813/11 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.couchbase.org/ep-engine refs/changes/13/68813/11","Reset To":"git fetch https://review.couchbase.org/ep-engine refs/changes/13/68813/11 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"29bb51e4a6961e89b215aa8a6e7d2a9d3747b7ed","subject":"Use \u003d\u003d and compare instead of strncmp in getStats"}],"author":{"name":"Daniel Owen","email":"owend@couchbase.com","date":"2016-10-17 16:34:08.000000000","tz":60},"committer":{"name":"Daniel Owen","email":"owend@couchbase.com","date":"2016-10-19 12:56:26.000000000","tz":60},"subject":"MB-21379: Ensure vals data structure is thread safe in ep_testsuite","message":"MB-21379: Ensure vals data structure is thread safe in ep_testsuite\n\nWhen developing additional stats test for ep-engine_perfsuite, the\nfollowing data race was uncovered.\n\nThe patch ensures that access to vals, requested_stat_name and\nactual_stat_value are protected with a mutex.  It has been\nconfirmed that with this patch the ThreadSanitizer issue no longer\noccurs.\n\n30: Running [0007/0009]: Stat latency with set executed in separate thread (couchstore)...\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n30: WARNING: ThreadSanitizer: data race (pid\u003d35923)\n30:   Write of size 1 at 0x7d180004aff2 by thread T15:\n30:     #0 memcpy \u003cnull\u003e (libtsan.so.0+0x00000002617a)\n30:     #1 std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e::_M_assign(std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const\u0026) \u003cnull\u003e (libstdc++.so.6+0x00000011f3c1)\n30:     #2 STATWRITER_NAMESPACE::add_casted_stat(char const*, char const*, void (*)(char const*, unsigned short, char const*, unsigned int, void const*), void const*) /home/owend/master/ep-engine/src/statwriter.h:39 (ep.so+0x0000000e5c04)\n30:     #3 StatCheckpointVisitor::addCheckpointStat(void const*, void (*)(char const*, unsigned short, char const*, unsigned int, void const*), EventuallyPersistentStore*, RCPtr\u003cVBucket\u003e\u0026) \u003cnull\u003e (ep.so+0x0000001c3088)\n30:     #4 StatCheckpointVisitor::visitBucket(RCPtr\u003cVBucket\u003e\u0026) \u003cnull\u003e (ep.so+0x0000001c2f79)\n30:     #5 EventuallyPersistentStore::visit(VBucketVisitor\u0026) /home/owend/master/ep-engine/src/ep.cc:3837 (ep.so+0x000000175389)\n30:     #6 StatCheckpointTask::run() \u003cnull\u003e (ep.so+0x0000001c33a9)\n30:     #7 ExecutorThread::run() /home/owend/master/ep-engine/src/executorthread.cc:113 (ep.so+0x0000001ec745)\n30:     #8 launch_executor_thread /home/owend/master/ep-engine/src/executorthread.cc:31 (ep.so+0x0000001ebea8)\n30:     #9 CouchbaseThread::run() /home/owend/master/platform/src/cb_pthreads.cc:58 (libplatform_so.so.0.1.0+0x00000000c9c7)\n30:     #10 platform_thread_wrap /home/owend/master/platform/src/cb_pthreads.cc:71 (libplatform_so.so.0.1.0+0x00000000affe)\n30:     #11 \u003cnull\u003e \u003cnull\u003e (libtsan.so.0+0x0000000230d9)\n30:\n30:   Previous write of size 1 at 0x7d180004aff2 by thread T16:\n30:     #0 memcpy \u003cnull\u003e (libtsan.so.0+0x00000002617a)\n30:     #1 std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e::_M_assign(std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const\u0026) \u003cnull\u003e (libstdc++.so.6+0x00000011f3c1)\n30:     #2 STATWRITER_NAMESPACE::add_casted_stat(char const*, char const*, void (*)(char const*, unsigned short, char const*, unsigned int, void const*), void const*) /home/owend/master/ep-engine/src/statwriter.h:39 (ep.so+0x0000000e5c04)\n30:     #3 StatCheckpointVisitor::addCheckpointStat(void const*, void (*)(char const*, unsigned short, char const*, unsigned int, void const*), EventuallyPersistentStore*, RCPtr\u003cVBucket\u003e\u0026) \u003cnull\u003e (ep.so+0x0000001c3088)\n30:     #4 StatCheckpointVisitor::visitBucket(RCPtr\u003cVBucket\u003e\u0026) \u003cnull\u003e (ep.so+0x0000001c2f79)\n30:     #5 EventuallyPersistentStore::visit(VBucketVisitor\u0026) /home/owend/master/ep-engine/src/ep.cc:3837 (ep.so+0x000000175389)\n30:     #6 StatCheckpointTask::run() \u003cnull\u003e (ep.so+0x0000001c33a9)\n30:     #7 ExecutorThread::run() /home/owend/master/ep-engine/src/executorthread.cc:113 (ep.so+0x0000001ec745)\n30:     #8 launch_executor_thread /home/owend/master/ep-engine/src/executorthread.cc:31 (ep.so+0x0000001ebea8)\n30:     #9 CouchbaseThread::run() /home/owend/master/platform/src/cb_pthreads.cc:58 (libplatform_so.so.0.1.0+0x00000000c9c7)\n30:     #10 platform_thread_wrap /home/owend/master/platform/src/cb_pthreads.cc:71 (libplatform_so.so.0.1.0+0x00000000affe)\n30:     #11 \u003cnull\u003e \u003cnull\u003e (libtsan.so.0+0x0000000230d9)\n\nThe patch renames the vals_mutex to be get_stats_mutex which protects\nagainst parallel calls to get_stats.  In addition a new vals_mutex is\ncreated which protects at a fine level of granuality the vals map and\nthe strings requested_stat_name and actual_stat_value from parallel\naccesses.\n\nChange-Id: I7bdc847c0913244409fa044e312d53b484dc2dab\n"},"parents_data":[{"branch_name":"refs/heads/master","commit_id":"29bb51e4a6961e89b215aa8a6e7d2a9d3747b7ed","is_merged_in_target_branch":true,"change_id":"I0b8fb8169d84698e293779c8e7d2bb6e75dc9686","change_number":68473,"patch_set_number":27,"change_status":"MERGED"}],"branch":"refs/heads/master"},"5c3da5b221b75f57a6de77fcbe57701fae48dd3d":{"kind":"NO_CODE_CHANGE","_number":12,"created":"2016-10-19 14:57:42.000000000","uploader":{"_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}]},"ref":"refs/changes/13/68813/12","fetch":{"anonymous http":{"url":"https://review.couchbase.org/ep-engine","ref":"refs/changes/13/68813/12","commands":{"Branch":"git fetch https://review.couchbase.org/ep-engine refs/changes/13/68813/12 \u0026\u0026 git checkout -b change-68813 FETCH_HEAD","Checkout":"git fetch https://review.couchbase.org/ep-engine refs/changes/13/68813/12 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.couchbase.org/ep-engine refs/changes/13/68813/12 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.couchbase.org/ep-engine refs/changes/13/68813/12 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.couchbase.org/ep-engine refs/changes/13/68813/12","Reset To":"git fetch https://review.couchbase.org/ep-engine refs/changes/13/68813/12 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"29bb51e4a6961e89b215aa8a6e7d2a9d3747b7ed","subject":"Use \u003d\u003d and compare instead of strncmp in getStats"}],"author":{"name":"Daniel Owen","email":"owend@couchbase.com","date":"2016-10-17 16:34:08.000000000","tz":60},"committer":{"name":"Daniel Owen","email":"owend@couchbase.com","date":"2016-10-19 14:56:37.000000000","tz":60},"subject":"MB-21379: Ensure vals data structure is thread safe in ep_testsuite","message":"MB-21379: Ensure vals data structure is thread safe in ep_testsuite\n\nWhen developing additional stats test for ep-engine_perfsuite, the\nfollowing data race was uncovered.\n\nThe patch ensures that access to vals, requested_stat_name and\nactual_stat_value are protected with a mutex.  It has been\nconfirmed that with this patch the ThreadSanitizer issue no longer\noccurs.\n\n30: WARNING: ThreadSanitizer: data race (pid\u003d42065)\n30:   Read of size 8 at 0x7d1800060a38 by thread T18 (mutexes: write M1704):\n30:     #0 std::_Rb_tree\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e, std::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e, std::_Select1st\u003cstd::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e \u003e, std::less\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e, std::allocator\u003cstd::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e \u003e \u003e::_S_right(std::_Rb_tree_node_base*) \u003cnull\u003e (engine_testapp+0x00000049c503)\n30:     #1 std::_Rb_tree\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e, std::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e, std::_Select1st\u003cstd::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e \u003e, std::less\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e, std::allocator\u003cstd::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e \u003e \u003e::_M_lower_bound(std::_Rb_tree_node\u003cstd::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e \u003e*, std::_Rb_tree_node\u003cstd::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e \u003e*, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const\u0026) \u003cnull\u003e (engine_testapp+0x0000004a30db)\n30:     #2 std::_Rb_tree\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e, std::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e, std::_Select1st\u003cstd::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e \u003e, std::less\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e, std::allocator\u003cstd::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e \u003e \u003e::lower_bound(std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const\u0026) \u003cnull\u003e (engine_testapp+0x00000049c5f6)\n30:     #3 std::map\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e, std::less\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e, std::allocator\u003cstd::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e \u003e \u003e::lower_bound(std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const\u0026) \u003cnull\u003e (engine_testapp+0x000000499047)\n30:     #4 std::map\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e, std::less\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e, std::allocator\u003cstd::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e \u003e \u003e::operator[](std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const\u0026) \u003cnull\u003e (engine_testapp+0x00000048e3ba)\n30:     #5 add_stats /home/owend/master/ep-engine/tests/ep_test_apis.cc:236 (ep_perfsuite.so+0x00000008f5b9)\n30:     #6 STATWRITER_NAMESPACE::add_casted_stat(char const*, char const*, void (*)(char const*, unsigned short, char const*, unsigned int, void const*), void const*) /home/owend/master/ep-engine/src/statwriter.h:39 (ep.so+0x0000000e5673)\n30:     #7 StatCheckpointVisitor::addCheckpointStat(void const*, void (*)(char const*, unsigned short, char const*, unsigned int, void const*), EventuallyPersistentStore*, RCPtr\u003cVBucket\u003e\u0026) \u003cnull\u003e (ep.so+0x0000001c120c)\n30:     #8 StatCheckpointVisitor::visitBucket(RCPtr\u003cVBucket\u003e\u0026) \u003cnull\u003e (ep.so+0x0000001c10e5)\n30:     #9 EventuallyPersistentStore::visit(VBucketVisitor\u0026) /home/owend/master/ep-engine/src/ep.cc:3796 (ep.so+0x000000174559)\n30:     #10 StatCheckpointTask::run() \u003cnull\u003e (ep.so+0x0000001c155b)\n30:     #11 ExecutorThread::run() /home/owend/master/ep-engine/src/executorthread.cc:113 (ep.so+0x0000001ea96d)\n30:     #12 launch_executor_thread /home/owend/master/ep-engine/src/executorthread.cc:31 (ep.so+0x0000001ea0d0)\n30:     #13 CouchbaseThread::run() /home/owend/master/platform/src/cb_pthreads.cc:58 (libplatform_so.so.0.1.0+0x00000000c9c7)\n30:     #14 platform_thread_wrap /home/owend/master/platform/src/cb_pthreads.cc:71 (libplatform_so.so.0.1.0+0x00000000affe)\n30:     #15 \u003cnull\u003e \u003cnull\u003e (libtsan.so.0+0x0000000230d9)\n30:\n30:   Previous write of size 8 at 0x7d1800060a38 by main thread (mutexes: write M1575):\n30:     #0 operator new(unsigned long) \u003cnull\u003e (libtsan.so.0+0x000000025a33)\n30:     #1 __gnu_cxx::new_allocator\u003cstd::_Rb_tree_node\u003cstd::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e \u003e \u003e::allocate(unsigned long, void const*) \u003cnull\u003e (engine_testapp+0x0000004a6ca7)\n30:     #2 std::allocator_traits\u003cstd::allocator\u003cstd::_Rb_tree_node\u003cstd::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e \u003e \u003e \u003e::allocate(std::allocator\u003cstd::_Rb_tree_node\u003cstd::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e \u003e \u003e\u0026, unsigned long) \u003cnull\u003e (engine_testapp+0x0000004a5168)\n30:     #3 std::_Rb_tree\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e, std::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e, std::_Select1st\u003cstd::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e \u003e, std::less\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e, std::allocator\u003cstd::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e \u003e \u003e::_M_get_node() \u003cnull\u003e (engine_testapp+0x0000004a316f)\n30:     #4 std::_Rb_tree_node\u003cstd::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e \u003e* std::_Rb_tree\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e, std::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e, std::_Select1st\u003cstd::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e \u003e, std::less\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e, std::allocator\u003cstd::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e \u003e \u003e::_M_create_node\u003cstd::piecewise_construct_t const\u0026, std::tuple\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const\u0026\u003e, std::tuple\u003c\u003e \u003e(std::piecewise_construct_t const\u0026, std::tuple\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const\u0026\u003e\u0026\u0026, std::tuple\u003c\u003e\u0026\u0026) \u003cnull\u003e (engine_testapp+0x00000049c6b4)\n30:     #5 std::_Rb_tree_iterator\u003cstd::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e \u003e std::_Rb_tree\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e, std::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e, std::_Select1st\u003cstd::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e \u003e, std::less\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e, std::allocator\u003cstd::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e \u003e \u003e::_M_emplace_hint_unique\u003cstd::piecewise_construct_t const\u0026, std::tuple\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const\u0026\u003e, std::tuple\u003c\u003e \u003e(std::_Rb_tree_const_iterator\u003cstd::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e \u003e, std::piecewise_construct_t const\u0026, std::tuple\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const\u0026\u003e\u0026\u0026, std::tuple\u003c\u003e\u0026\u0026) \u003cnull\u003e (engine_testapp+0x00000049928e)\n30:     #6 std::map\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e, std::less\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e, std::allocator\u003cstd::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e \u003e \u003e::operator[](std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const\u0026) \u003cnull\u003e (engine_testapp+0x00000048e488)\n30:     #7 add_stats /home/owend/master/ep-engine/tests/ep_test_apis.cc:236 (ep_perfsuite.so+0x00000008f5b9)\n30:     #8 STATWRITER_NAMESPACE::add_casted_stat(char const*, char const*, void (*)(char const*, unsigned short, char const*, unsigned int, void const*), void const*) /home/owend/master/ep-engine/src/statwriter.h:39 (ep.so+0x0000000e5673)\n30:     #9 void STATWRITER_NAMESPACE::add_casted_stat\u003cunsigned long\u003e(char const*, unsigned long const\u0026, void (*)(char const*, unsigned short, char const*, unsigned int, void const*), void const*) /home/owend/master/ep-engine/src/statwriter.h:48 (ep.so+0x0000000e96ae)\n30:     #10 EventuallyPersistentEngine::addSeqnoVbStats(void const*, void (*)(char const*, unsigned short, char const*, unsigned int, void const*), RCPtr\u003cVBucket\u003e const\u0026) /home/owend/master/ep-engine/src/ep_engine.cc:4445 (ep.so+0x0000001ad56d)\n30:     #11 EventuallyPersistentEngine::doSeqnoStats(void const*, void (*)(char const*, unsigned short, char const*, unsigned int, void const*), char const*, int) /home/owend/master/ep-engine/src/ep_engine.cc:4490 (ep.so+0x0000001ad95f)\n30:     #12 EventuallyPersistentEngine::getStats(void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /home/owend/master/ep-engine/src/ep_engine.cc:4595 (ep.so+0x0000001ae4de)\n30:     #13 EvpGetStats /home/owend/master/ep-engine/src/ep_engine.cc:232 (ep.so+0x00000019851e)\n30:     #14 ENGINE_ERROR_CODE std::_Bind\u003cENGINE_ERROR_CODE (*(engine_interface*, void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)))(engine_interface*, void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*))\u003e::__call\u003cENGINE_ERROR_CODE, , 0ul, 1ul, 2ul, 3ul, 4ul\u003e(std::tuple\u003c\u003e\u0026\u0026, std::_Index_tuple\u003c0ul, 1ul, 2ul, 3ul, 4ul\u003e) \u003cnull\u003e (engine_testapp+0x00000049f211)\n30:     #15 ENGINE_ERROR_CODE std::_Bind\u003cENGINE_ERROR_CODE (*(engine_interface*, void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)))(engine_interface*, void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*))\u003e::operator()\u003c, ENGINE_ERROR_CODE\u003e() \u003cnull\u003e (engine_testapp+0x00000049aa02)\n30:     #16 std::_Function_handler\u003cENGINE_ERROR_CODE (), std::_Bind\u003cENGINE_ERROR_CODE (*(engine_interface*, void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)))(engine_interface*, void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*))\u003e \u003e::_M_invoke(std::_Any_data const\u0026) \u003cnull\u003e (engine_testapp+0x00000049145b)\n30:     #17 std::function\u003cENGINE_ERROR_CODE ()\u003e::operator()() const \u003cnull\u003e (engine_testapp+0x000000484e28)\n30:     #18 call_engine_and_handle_EWOULDBLOCK /home/owend/master/memcached/programs/engine_testapp/engine_testapp.cc:127 (engine_testapp+0x00000047cf00)\n30:     #19 mock_get_stats /home/owend/master/memcached/programs/engine_testapp/engine_testapp.cc:220 (engine_testapp+0x00000047d896)\n30:     #20 perf_stat_latency_core /home/owend/master/ep-engine/tests/ep_perfsuite.cc:1238 (ep_perfsuite.so+0x000000063d3d)\n30:     #21 perf_stat_latency /home/owend/master/ep-engine/tests/ep_perfsuite.cc:1306 (ep_perfsuite.so+0x00000006427a)\n30:     #22 perf_slow_stat_latency_100vb /home/owend/master/ep-engine/tests/ep_perfsuite.cc:1365 (ep_perfsuite.so+0x00000006498c)\n30:     #23 execute_test /home/owend/master/memcached/programs/engine_testapp/engine_testapp.cc:962 (engine_testapp+0x000000481776)\n30:     #24 main /home/owend/master/memcached/programs/engine_testapp/engine_testapp.cc:1359 (engine_testapp+0x000000482ab1)\n\nThe patch renames the vals_mutex to be get_stats_mutex which protects\nagainst parallel calls to get_stats.  In addition a new vals_mutex is\ncreated which protects at a fine level of granuality the vals map and\nthe strings requested_stat_name and actual_stat_value from parallel\naccesses.\n\nChange-Id: I7bdc847c0913244409fa044e312d53b484dc2dab\n"},"parents_data":[{"branch_name":"refs/heads/master","commit_id":"29bb51e4a6961e89b215aa8a6e7d2a9d3747b7ed","is_merged_in_target_branch":true,"change_id":"I0b8fb8169d84698e293779c8e7d2bb6e75dc9686","change_number":68473,"patch_set_number":27,"change_status":"MERGED"}],"branch":"refs/heads/master"},"997aba8f47fe0211a32c4c79350e6669d0f8d9b1":{"kind":"REWORK","_number":13,"created":"2016-10-19 16:48:15.000000000","uploader":{"_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}]},"ref":"refs/changes/13/68813/13","fetch":{"anonymous http":{"url":"https://review.couchbase.org/ep-engine","ref":"refs/changes/13/68813/13","commands":{"Branch":"git fetch https://review.couchbase.org/ep-engine refs/changes/13/68813/13 \u0026\u0026 git checkout -b change-68813 FETCH_HEAD","Checkout":"git fetch https://review.couchbase.org/ep-engine refs/changes/13/68813/13 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.couchbase.org/ep-engine refs/changes/13/68813/13 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.couchbase.org/ep-engine refs/changes/13/68813/13 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.couchbase.org/ep-engine refs/changes/13/68813/13","Reset To":"git fetch https://review.couchbase.org/ep-engine refs/changes/13/68813/13 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"29bb51e4a6961e89b215aa8a6e7d2a9d3747b7ed","subject":"Use \u003d\u003d and compare instead of strncmp in getStats"}],"author":{"name":"Daniel Owen","email":"owend@couchbase.com","date":"2016-10-17 16:34:08.000000000","tz":60},"committer":{"name":"Daniel Owen","email":"owend@couchbase.com","date":"2016-10-19 16:47:55.000000000","tz":60},"subject":"MB-21379: Ensure vals data structure is thread safe in ep_testsuite","message":"MB-21379: Ensure vals data structure is thread safe in ep_testsuite\n\nWhen developing additional stats test for ep-engine_perfsuite, the\nfollowing data race was uncovered.\n\nThe patch ensures that access to vals, requested_stat_name and\nactual_stat_value are protected with a mutex.  It has been\nconfirmed that with this patch the ThreadSanitizer issue no longer\noccurs.\n\n30: WARNING: ThreadSanitizer: data race (pid\u003d42065)\n30:   Read of size 8 at 0x7d1800060a38 by thread T18 (mutexes: write M1704):\n30:     #0 std::_Rb_tree\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e, std::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e, std::_Select1st\u003cstd::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e \u003e, std::less\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e, std::allocator\u003cstd::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e \u003e \u003e::_S_right(std::_Rb_tree_node_base*) \u003cnull\u003e (engine_testapp+0x00000049c503)\n30:     #1 std::_Rb_tree\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e, std::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e, std::_Select1st\u003cstd::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e \u003e, std::less\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e, std::allocator\u003cstd::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e \u003e \u003e::_M_lower_bound(std::_Rb_tree_node\u003cstd::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e \u003e*, std::_Rb_tree_node\u003cstd::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e \u003e*, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const\u0026) \u003cnull\u003e (engine_testapp+0x0000004a30db)\n30:     #2 std::_Rb_tree\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e, std::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e, std::_Select1st\u003cstd::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e \u003e, std::less\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e, std::allocator\u003cstd::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e \u003e \u003e::lower_bound(std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const\u0026) \u003cnull\u003e (engine_testapp+0x00000049c5f6)\n30:     #3 std::map\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e, std::less\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e, std::allocator\u003cstd::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e \u003e \u003e::lower_bound(std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const\u0026) \u003cnull\u003e (engine_testapp+0x000000499047)\n30:     #4 std::map\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e, std::less\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e, std::allocator\u003cstd::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e \u003e \u003e::operator[](std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const\u0026) \u003cnull\u003e (engine_testapp+0x00000048e3ba)\n30:     #5 add_stats /home/owend/master/ep-engine/tests/ep_test_apis.cc:236 (ep_perfsuite.so+0x00000008f5b9)\n30:     #6 STATWRITER_NAMESPACE::add_casted_stat(char const*, char const*, void (*)(char const*, unsigned short, char const*, unsigned int, void const*), void const*) /home/owend/master/ep-engine/src/statwriter.h:39 (ep.so+0x0000000e5673)\n30:     #7 StatCheckpointVisitor::addCheckpointStat(void const*, void (*)(char const*, unsigned short, char const*, unsigned int, void const*), EventuallyPersistentStore*, RCPtr\u003cVBucket\u003e\u0026) \u003cnull\u003e (ep.so+0x0000001c120c)\n30:     #8 StatCheckpointVisitor::visitBucket(RCPtr\u003cVBucket\u003e\u0026) \u003cnull\u003e (ep.so+0x0000001c10e5)\n30:     #9 EventuallyPersistentStore::visit(VBucketVisitor\u0026) /home/owend/master/ep-engine/src/ep.cc:3796 (ep.so+0x000000174559)\n30:     #10 StatCheckpointTask::run() \u003cnull\u003e (ep.so+0x0000001c155b)\n30:     #11 ExecutorThread::run() /home/owend/master/ep-engine/src/executorthread.cc:113 (ep.so+0x0000001ea96d)\n30:     #12 launch_executor_thread /home/owend/master/ep-engine/src/executorthread.cc:31 (ep.so+0x0000001ea0d0)\n30:     #13 CouchbaseThread::run() /home/owend/master/platform/src/cb_pthreads.cc:58 (libplatform_so.so.0.1.0+0x00000000c9c7)\n30:     #14 platform_thread_wrap /home/owend/master/platform/src/cb_pthreads.cc:71 (libplatform_so.so.0.1.0+0x00000000affe)\n30:     #15 \u003cnull\u003e \u003cnull\u003e (libtsan.so.0+0x0000000230d9)\n30:\n30:   Previous write of size 8 at 0x7d1800060a38 by main thread (mutexes: write M1575):\n30:     #0 operator new(unsigned long) \u003cnull\u003e (libtsan.so.0+0x000000025a33)\n30:     #1 __gnu_cxx::new_allocator\u003cstd::_Rb_tree_node\u003cstd::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e \u003e \u003e::allocate(unsigned long, void const*) \u003cnull\u003e (engine_testapp+0x0000004a6ca7)\n30:     #2 std::allocator_traits\u003cstd::allocator\u003cstd::_Rb_tree_node\u003cstd::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e \u003e \u003e \u003e::allocate(std::allocator\u003cstd::_Rb_tree_node\u003cstd::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e \u003e \u003e\u0026, unsigned long) \u003cnull\u003e (engine_testapp+0x0000004a5168)\n30:     #3 std::_Rb_tree\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e, std::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e, std::_Select1st\u003cstd::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e \u003e, std::less\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e, std::allocator\u003cstd::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e \u003e \u003e::_M_get_node() \u003cnull\u003e (engine_testapp+0x0000004a316f)\n30:     #4 std::_Rb_tree_node\u003cstd::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e \u003e* std::_Rb_tree\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e, std::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e, std::_Select1st\u003cstd::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e \u003e, std::less\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e, std::allocator\u003cstd::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e \u003e \u003e::_M_create_node\u003cstd::piecewise_construct_t const\u0026, std::tuple\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const\u0026\u003e, std::tuple\u003c\u003e \u003e(std::piecewise_construct_t const\u0026, std::tuple\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const\u0026\u003e\u0026\u0026, std::tuple\u003c\u003e\u0026\u0026) \u003cnull\u003e (engine_testapp+0x00000049c6b4)\n30:     #5 std::_Rb_tree_iterator\u003cstd::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e \u003e std::_Rb_tree\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e, std::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e, std::_Select1st\u003cstd::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e \u003e, std::less\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e, std::allocator\u003cstd::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e \u003e \u003e::_M_emplace_hint_unique\u003cstd::piecewise_construct_t const\u0026, std::tuple\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const\u0026\u003e, std::tuple\u003c\u003e \u003e(std::_Rb_tree_const_iterator\u003cstd::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e \u003e, std::piecewise_construct_t const\u0026, std::tuple\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const\u0026\u003e\u0026\u0026, std::tuple\u003c\u003e\u0026\u0026) \u003cnull\u003e (engine_testapp+0x00000049928e)\n30:     #6 std::map\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e, std::less\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e, std::allocator\u003cstd::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e \u003e \u003e::operator[](std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const\u0026) \u003cnull\u003e (engine_testapp+0x00000048e488)\n30:     #7 add_stats /home/owend/master/ep-engine/tests/ep_test_apis.cc:236 (ep_perfsuite.so+0x00000008f5b9)\n30:     #8 STATWRITER_NAMESPACE::add_casted_stat(char const*, char const*, void (*)(char const*, unsigned short, char const*, unsigned int, void const*), void const*) /home/owend/master/ep-engine/src/statwriter.h:39 (ep.so+0x0000000e5673)\n30:     #9 void STATWRITER_NAMESPACE::add_casted_stat\u003cunsigned long\u003e(char const*, unsigned long const\u0026, void (*)(char const*, unsigned short, char const*, unsigned int, void const*), void const*) /home/owend/master/ep-engine/src/statwriter.h:48 (ep.so+0x0000000e96ae)\n30:     #10 EventuallyPersistentEngine::addSeqnoVbStats(void const*, void (*)(char const*, unsigned short, char const*, unsigned int, void const*), RCPtr\u003cVBucket\u003e const\u0026) /home/owend/master/ep-engine/src/ep_engine.cc:4445 (ep.so+0x0000001ad56d)\n30:     #11 EventuallyPersistentEngine::doSeqnoStats(void const*, void (*)(char const*, unsigned short, char const*, unsigned int, void const*), char const*, int) /home/owend/master/ep-engine/src/ep_engine.cc:4490 (ep.so+0x0000001ad95f)\n30:     #12 EventuallyPersistentEngine::getStats(void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /home/owend/master/ep-engine/src/ep_engine.cc:4595 (ep.so+0x0000001ae4de)\n30:     #13 EvpGetStats /home/owend/master/ep-engine/src/ep_engine.cc:232 (ep.so+0x00000019851e)\n30:     #14 ENGINE_ERROR_CODE std::_Bind\u003cENGINE_ERROR_CODE (*(engine_interface*, void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)))(engine_interface*, void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*))\u003e::__call\u003cENGINE_ERROR_CODE, , 0ul, 1ul, 2ul, 3ul, 4ul\u003e(std::tuple\u003c\u003e\u0026\u0026, std::_Index_tuple\u003c0ul, 1ul, 2ul, 3ul, 4ul\u003e) \u003cnull\u003e (engine_testapp+0x00000049f211)\n30:     #15 ENGINE_ERROR_CODE std::_Bind\u003cENGINE_ERROR_CODE (*(engine_interface*, void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)))(engine_interface*, void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*))\u003e::operator()\u003c, ENGINE_ERROR_CODE\u003e() \u003cnull\u003e (engine_testapp+0x00000049aa02)\n30:     #16 std::_Function_handler\u003cENGINE_ERROR_CODE (), std::_Bind\u003cENGINE_ERROR_CODE (*(engine_interface*, void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)))(engine_interface*, void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*))\u003e \u003e::_M_invoke(std::_Any_data const\u0026) \u003cnull\u003e (engine_testapp+0x00000049145b)\n30:     #17 std::function\u003cENGINE_ERROR_CODE ()\u003e::operator()() const \u003cnull\u003e (engine_testapp+0x000000484e28)\n30:     #18 call_engine_and_handle_EWOULDBLOCK /home/owend/master/memcached/programs/engine_testapp/engine_testapp.cc:127 (engine_testapp+0x00000047cf00)\n30:     #19 mock_get_stats /home/owend/master/memcached/programs/engine_testapp/engine_testapp.cc:220 (engine_testapp+0x00000047d896)\n30:     #20 perf_stat_latency_core /home/owend/master/ep-engine/tests/ep_perfsuite.cc:1238 (ep_perfsuite.so+0x000000063d3d)\n30:     #21 perf_stat_latency /home/owend/master/ep-engine/tests/ep_perfsuite.cc:1306 (ep_perfsuite.so+0x00000006427a)\n30:     #22 perf_slow_stat_latency_100vb /home/owend/master/ep-engine/tests/ep_perfsuite.cc:1365 (ep_perfsuite.so+0x00000006498c)\n30:     #23 execute_test /home/owend/master/memcached/programs/engine_testapp/engine_testapp.cc:962 (engine_testapp+0x000000481776)\n30:     #24 main /home/owend/master/memcached/programs/engine_testapp/engine_testapp.cc:1359 (engine_testapp+0x000000482ab1)\n\nThe patch renames the vals_mutex to be get_stats_mutex which protects\nagainst parallel calls to get_stats.  In addition a new vals_mutex is\ncreated which protects at a fine level of granuality the vals map and\nthe strings requested_stat_name and actual_stat_value from parallel\naccesses.\n\nChange-Id: I7bdc847c0913244409fa044e312d53b484dc2dab\n"},"parents_data":[{"branch_name":"refs/heads/master","commit_id":"29bb51e4a6961e89b215aa8a6e7d2a9d3747b7ed","is_merged_in_target_branch":true,"change_id":"I0b8fb8169d84698e293779c8e7d2bb6e75dc9686","change_number":68473,"patch_set_number":27,"change_status":"MERGED"}],"branch":"refs/heads/master"},"5559df386f480fffaa2165cd525a7750bebba4a9":{"kind":"REWORK","_number":14,"created":"2016-10-19 17:32:39.000000000","uploader":{"_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}]},"ref":"refs/changes/13/68813/14","fetch":{"anonymous http":{"url":"https://review.couchbase.org/ep-engine","ref":"refs/changes/13/68813/14","commands":{"Branch":"git fetch https://review.couchbase.org/ep-engine refs/changes/13/68813/14 \u0026\u0026 git checkout -b change-68813 FETCH_HEAD","Checkout":"git fetch https://review.couchbase.org/ep-engine refs/changes/13/68813/14 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.couchbase.org/ep-engine refs/changes/13/68813/14 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.couchbase.org/ep-engine refs/changes/13/68813/14 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.couchbase.org/ep-engine refs/changes/13/68813/14","Reset To":"git fetch https://review.couchbase.org/ep-engine refs/changes/13/68813/14 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"29bb51e4a6961e89b215aa8a6e7d2a9d3747b7ed","subject":"Use \u003d\u003d and compare instead of strncmp in getStats"}],"author":{"name":"Daniel Owen","email":"owend@couchbase.com","date":"2016-10-17 16:34:08.000000000","tz":60},"committer":{"name":"Daniel Owen","email":"owend@couchbase.com","date":"2016-10-19 17:28:09.000000000","tz":60},"subject":"MB-21379: Ensure vals data structure is thread safe in ep_testsuite","message":"MB-21379: Ensure vals data structure is thread safe in ep_testsuite\n\nWhen developing additional stats test for ep-engine_perfsuite, the\nfollowing data race was uncovered.\n\nThe patch ensures that accesses to vals are protected with a mutex.\nAlso get_stat and get_histo_stat can only be called one at a time as\nthey use the three global variables (requested_stat_name,\nactual_stat_value and histogram_stat_int_value).  Therefore a secondary\nmutex is required to enforce this.\n\nIt has been confirmed that with this patch the ThreadSanitizer issue\nno longer occurs.\n\n30: WARNING: ThreadSanitizer: data race (pid\u003d42065)\n30:   Read of size 8 at 0x7d1800060a38 by thread T18 (mutexes: write M1704):\n30:     #0 std::_Rb_tree\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e, std::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e, std::_Select1st\u003cstd::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e \u003e, std::less\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e, std::allocator\u003cstd::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e \u003e \u003e::_S_right(std::_Rb_tree_node_base*) \u003cnull\u003e (engine_testapp+0x00000049c503)\n30:     #1 std::_Rb_tree\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e, std::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e, std::_Select1st\u003cstd::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e \u003e, std::less\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e, std::allocator\u003cstd::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e \u003e \u003e::_M_lower_bound(std::_Rb_tree_node\u003cstd::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e \u003e*, std::_Rb_tree_node\u003cstd::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e \u003e*, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const\u0026) \u003cnull\u003e (engine_testapp+0x0000004a30db)\n30:     #2 std::_Rb_tree\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e, std::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e, std::_Select1st\u003cstd::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e \u003e, std::less\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e, std::allocator\u003cstd::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e \u003e \u003e::lower_bound(std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const\u0026) \u003cnull\u003e (engine_testapp+0x00000049c5f6)\n30:     #3 std::map\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e, std::less\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e, std::allocator\u003cstd::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e \u003e \u003e::lower_bound(std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const\u0026) \u003cnull\u003e (engine_testapp+0x000000499047)\n30:     #4 std::map\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e, std::less\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e, std::allocator\u003cstd::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e \u003e \u003e::operator[](std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const\u0026) \u003cnull\u003e (engine_testapp+0x00000048e3ba)\n30:     #5 add_stats /home/owend/master/ep-engine/tests/ep_test_apis.cc:236 (ep_perfsuite.so+0x00000008f5b9)\n30:     #6 STATWRITER_NAMESPACE::add_casted_stat(char const*, char const*, void (*)(char const*, unsigned short, char const*, unsigned int, void const*), void const*) /home/owend/master/ep-engine/src/statwriter.h:39 (ep.so+0x0000000e5673)\n30:     #7 StatCheckpointVisitor::addCheckpointStat(void const*, void (*)(char const*, unsigned short, char const*, unsigned int, void const*), EventuallyPersistentStore*, RCPtr\u003cVBucket\u003e\u0026) \u003cnull\u003e (ep.so+0x0000001c120c)\n30:     #8 StatCheckpointVisitor::visitBucket(RCPtr\u003cVBucket\u003e\u0026) \u003cnull\u003e (ep.so+0x0000001c10e5)\n30:     #9 EventuallyPersistentStore::visit(VBucketVisitor\u0026) /home/owend/master/ep-engine/src/ep.cc:3796 (ep.so+0x000000174559)\n30:     #10 StatCheckpointTask::run() \u003cnull\u003e (ep.so+0x0000001c155b)\n30:     #11 ExecutorThread::run() /home/owend/master/ep-engine/src/executorthread.cc:113 (ep.so+0x0000001ea96d)\n30:     #12 launch_executor_thread /home/owend/master/ep-engine/src/executorthread.cc:31 (ep.so+0x0000001ea0d0)\n30:     #13 CouchbaseThread::run() /home/owend/master/platform/src/cb_pthreads.cc:58 (libplatform_so.so.0.1.0+0x00000000c9c7)\n30:     #14 platform_thread_wrap /home/owend/master/platform/src/cb_pthreads.cc:71 (libplatform_so.so.0.1.0+0x00000000affe)\n30:     #15 \u003cnull\u003e \u003cnull\u003e (libtsan.so.0+0x0000000230d9)\n30:\n30:   Previous write of size 8 at 0x7d1800060a38 by main thread (mutexes: write M1575):\n30:     #0 operator new(unsigned long) \u003cnull\u003e (libtsan.so.0+0x000000025a33)\n30:     #1 __gnu_cxx::new_allocator\u003cstd::_Rb_tree_node\u003cstd::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e \u003e \u003e::allocate(unsigned long, void const*) \u003cnull\u003e (engine_testapp+0x0000004a6ca7)\n30:     #2 std::allocator_traits\u003cstd::allocator\u003cstd::_Rb_tree_node\u003cstd::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e \u003e \u003e \u003e::allocate(std::allocator\u003cstd::_Rb_tree_node\u003cstd::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e \u003e \u003e\u0026, unsigned long) \u003cnull\u003e (engine_testapp+0x0000004a5168)\n30:     #3 std::_Rb_tree\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e, std::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e, std::_Select1st\u003cstd::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e \u003e, std::less\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e, std::allocator\u003cstd::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e \u003e \u003e::_M_get_node() \u003cnull\u003e (engine_testapp+0x0000004a316f)\n30:     #4 std::_Rb_tree_node\u003cstd::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e \u003e* std::_Rb_tree\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e, std::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e, std::_Select1st\u003cstd::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e \u003e, std::less\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e, std::allocator\u003cstd::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e \u003e \u003e::_M_create_node\u003cstd::piecewise_construct_t const\u0026, std::tuple\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const\u0026\u003e, std::tuple\u003c\u003e \u003e(std::piecewise_construct_t const\u0026, std::tuple\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const\u0026\u003e\u0026\u0026, std::tuple\u003c\u003e\u0026\u0026) \u003cnull\u003e (engine_testapp+0x00000049c6b4)\n30:     #5 std::_Rb_tree_iterator\u003cstd::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e \u003e std::_Rb_tree\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e, std::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e, std::_Select1st\u003cstd::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e \u003e, std::less\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e, std::allocator\u003cstd::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e \u003e \u003e::_M_emplace_hint_unique\u003cstd::piecewise_construct_t const\u0026, std::tuple\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const\u0026\u003e, std::tuple\u003c\u003e \u003e(std::_Rb_tree_const_iterator\u003cstd::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e \u003e, std::piecewise_construct_t const\u0026, std::tuple\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const\u0026\u003e\u0026\u0026, std::tuple\u003c\u003e\u0026\u0026) \u003cnull\u003e (engine_testapp+0x00000049928e)\n30:     #6 std::map\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e, std::less\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e, std::allocator\u003cstd::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e \u003e \u003e::operator[](std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const\u0026) \u003cnull\u003e (engine_testapp+0x00000048e488)\n30:     #7 add_stats /home/owend/master/ep-engine/tests/ep_test_apis.cc:236 (ep_perfsuite.so+0x00000008f5b9)\n30:     #8 STATWRITER_NAMESPACE::add_casted_stat(char const*, char const*, void (*)(char const*, unsigned short, char const*, unsigned int, void const*), void const*) /home/owend/master/ep-engine/src/statwriter.h:39 (ep.so+0x0000000e5673)\n30:     #9 void STATWRITER_NAMESPACE::add_casted_stat\u003cunsigned long\u003e(char const*, unsigned long const\u0026, void (*)(char const*, unsigned short, char const*, unsigned int, void const*), void const*) /home/owend/master/ep-engine/src/statwriter.h:48 (ep.so+0x0000000e96ae)\n30:     #10 EventuallyPersistentEngine::addSeqnoVbStats(void const*, void (*)(char const*, unsigned short, char const*, unsigned int, void const*), RCPtr\u003cVBucket\u003e const\u0026) /home/owend/master/ep-engine/src/ep_engine.cc:4445 (ep.so+0x0000001ad56d)\n30:     #11 EventuallyPersistentEngine::doSeqnoStats(void const*, void (*)(char const*, unsigned short, char const*, unsigned int, void const*), char const*, int) /home/owend/master/ep-engine/src/ep_engine.cc:4490 (ep.so+0x0000001ad95f)\n30:     #12 EventuallyPersistentEngine::getStats(void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /home/owend/master/ep-engine/src/ep_engine.cc:4595 (ep.so+0x0000001ae4de)\n30:     #13 EvpGetStats /home/owend/master/ep-engine/src/ep_engine.cc:232 (ep.so+0x00000019851e)\n30:     #14 ENGINE_ERROR_CODE std::_Bind\u003cENGINE_ERROR_CODE (*(engine_interface*, void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)))(engine_interface*, void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*))\u003e::__call\u003cENGINE_ERROR_CODE, , 0ul, 1ul, 2ul, 3ul, 4ul\u003e(std::tuple\u003c\u003e\u0026\u0026, std::_Index_tuple\u003c0ul, 1ul, 2ul, 3ul, 4ul\u003e) \u003cnull\u003e (engine_testapp+0x00000049f211)\n30:     #15 ENGINE_ERROR_CODE std::_Bind\u003cENGINE_ERROR_CODE (*(engine_interface*, void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)))(engine_interface*, void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*))\u003e::operator()\u003c, ENGINE_ERROR_CODE\u003e() \u003cnull\u003e (engine_testapp+0x00000049aa02)\n30:     #16 std::_Function_handler\u003cENGINE_ERROR_CODE (), std::_Bind\u003cENGINE_ERROR_CODE (*(engine_interface*, void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)))(engine_interface*, void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*))\u003e \u003e::_M_invoke(std::_Any_data const\u0026) \u003cnull\u003e (engine_testapp+0x00000049145b)\n30:     #17 std::function\u003cENGINE_ERROR_CODE ()\u003e::operator()() const \u003cnull\u003e (engine_testapp+0x000000484e28)\n30:     #18 call_engine_and_handle_EWOULDBLOCK /home/owend/master/memcached/programs/engine_testapp/engine_testapp.cc:127 (engine_testapp+0x00000047cf00)\n30:     #19 mock_get_stats /home/owend/master/memcached/programs/engine_testapp/engine_testapp.cc:220 (engine_testapp+0x00000047d896)\n30:     #20 perf_stat_latency_core /home/owend/master/ep-engine/tests/ep_perfsuite.cc:1238 (ep_perfsuite.so+0x000000063d3d)\n30:     #21 perf_stat_latency /home/owend/master/ep-engine/tests/ep_perfsuite.cc:1306 (ep_perfsuite.so+0x00000006427a)\n30:     #22 perf_slow_stat_latency_100vb /home/owend/master/ep-engine/tests/ep_perfsuite.cc:1365 (ep_perfsuite.so+0x00000006498c)\n30:     #23 execute_test /home/owend/master/memcached/programs/engine_testapp/engine_testapp.cc:962 (engine_testapp+0x000000481776)\n30:     #24 main /home/owend/master/memcached/programs/engine_testapp/engine_testapp.cc:1359 (engine_testapp+0x000000482ab1)\n\nChange-Id: I7bdc847c0913244409fa044e312d53b484dc2dab\n"},"parents_data":[{"branch_name":"refs/heads/master","commit_id":"29bb51e4a6961e89b215aa8a6e7d2a9d3747b7ed","is_merged_in_target_branch":true,"change_id":"I0b8fb8169d84698e293779c8e7d2bb6e75dc9686","change_number":68473,"patch_set_number":27,"change_status":"MERGED"}],"branch":"refs/heads/master"},"37ba675f13dc301861ff7a7f632933dbd640830b":{"kind":"REWORK","_number":15,"created":"2016-10-20 09:33:18.000000000","uploader":{"_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}]},"ref":"refs/changes/13/68813/15","fetch":{"anonymous http":{"url":"https://review.couchbase.org/ep-engine","ref":"refs/changes/13/68813/15","commands":{"Branch":"git fetch https://review.couchbase.org/ep-engine refs/changes/13/68813/15 \u0026\u0026 git checkout -b change-68813 FETCH_HEAD","Checkout":"git fetch https://review.couchbase.org/ep-engine refs/changes/13/68813/15 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.couchbase.org/ep-engine refs/changes/13/68813/15 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.couchbase.org/ep-engine refs/changes/13/68813/15 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.couchbase.org/ep-engine refs/changes/13/68813/15","Reset To":"git fetch https://review.couchbase.org/ep-engine refs/changes/13/68813/15 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"29bb51e4a6961e89b215aa8a6e7d2a9d3747b7ed","subject":"Use \u003d\u003d and compare instead of strncmp in getStats"}],"author":{"name":"Daniel Owen","email":"owend@couchbase.com","date":"2016-10-17 16:34:08.000000000","tz":60},"committer":{"name":"Daniel Owen","email":"owend@couchbase.com","date":"2016-10-20 09:31:14.000000000","tz":60},"subject":"MB-21379: Ensure vals data structure is thread safe in ep_testsuite","message":"MB-21379: Ensure vals data structure is thread safe in ep_testsuite\n\nWhen developing additional stats test for ep-engine_perfsuite, the\nfollowing data race was uncovered.\n\nThe patch ensures that accesses to vals are protected with a mutex.\nAlso get_stat and get_histo_stat can only be called one at a time as\nthey use the three global variables (requested_stat_name,\nactual_stat_value and histogram_stat_int_value).  Therefore a secondary\nmutex is required to enforce this.\n\nIt has been confirmed that with this patch the ThreadSanitizer issue\nno longer occurs.\n\n30: WARNING: ThreadSanitizer: data race (pid\u003d42065)\n30:   Read of size 8 at 0x7d1800060a38 by thread T18 (mutexes: write M1704):\n30:     #0 std::_Rb_tree\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e, std::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e, std::_Select1st\u003cstd::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e \u003e, std::less\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e, std::allocator\u003cstd::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e \u003e \u003e::_S_right(std::_Rb_tree_node_base*) \u003cnull\u003e (engine_testapp+0x00000049c503)\n30:     #1 std::_Rb_tree\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e, std::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e, std::_Select1st\u003cstd::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e \u003e, std::less\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e, std::allocator\u003cstd::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e \u003e \u003e::_M_lower_bound(std::_Rb_tree_node\u003cstd::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e \u003e*, std::_Rb_tree_node\u003cstd::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e \u003e*, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const\u0026) \u003cnull\u003e (engine_testapp+0x0000004a30db)\n30:     #2 std::_Rb_tree\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e, std::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e, std::_Select1st\u003cstd::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e \u003e, std::less\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e, std::allocator\u003cstd::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e \u003e \u003e::lower_bound(std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const\u0026) \u003cnull\u003e (engine_testapp+0x00000049c5f6)\n30:     #3 std::map\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e, std::less\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e, std::allocator\u003cstd::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e \u003e \u003e::lower_bound(std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const\u0026) \u003cnull\u003e (engine_testapp+0x000000499047)\n30:     #4 std::map\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e, std::less\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e, std::allocator\u003cstd::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e \u003e \u003e::operator[](std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const\u0026) \u003cnull\u003e (engine_testapp+0x00000048e3ba)\n30:     #5 add_stats /home/owend/master/ep-engine/tests/ep_test_apis.cc:236 (ep_perfsuite.so+0x00000008f5b9)\n30:     #6 STATWRITER_NAMESPACE::add_casted_stat(char const*, char const*, void (*)(char const*, unsigned short, char const*, unsigned int, void const*), void const*) /home/owend/master/ep-engine/src/statwriter.h:39 (ep.so+0x0000000e5673)\n30:     #7 StatCheckpointVisitor::addCheckpointStat(void const*, void (*)(char const*, unsigned short, char const*, unsigned int, void const*), EventuallyPersistentStore*, RCPtr\u003cVBucket\u003e\u0026) \u003cnull\u003e (ep.so+0x0000001c120c)\n30:     #8 StatCheckpointVisitor::visitBucket(RCPtr\u003cVBucket\u003e\u0026) \u003cnull\u003e (ep.so+0x0000001c10e5)\n30:     #9 EventuallyPersistentStore::visit(VBucketVisitor\u0026) /home/owend/master/ep-engine/src/ep.cc:3796 (ep.so+0x000000174559)\n30:     #10 StatCheckpointTask::run() \u003cnull\u003e (ep.so+0x0000001c155b)\n30:     #11 ExecutorThread::run() /home/owend/master/ep-engine/src/executorthread.cc:113 (ep.so+0x0000001ea96d)\n30:     #12 launch_executor_thread /home/owend/master/ep-engine/src/executorthread.cc:31 (ep.so+0x0000001ea0d0)\n30:     #13 CouchbaseThread::run() /home/owend/master/platform/src/cb_pthreads.cc:58 (libplatform_so.so.0.1.0+0x00000000c9c7)\n30:     #14 platform_thread_wrap /home/owend/master/platform/src/cb_pthreads.cc:71 (libplatform_so.so.0.1.0+0x00000000affe)\n30:     #15 \u003cnull\u003e \u003cnull\u003e (libtsan.so.0+0x0000000230d9)\n30:\n30:   Previous write of size 8 at 0x7d1800060a38 by main thread (mutexes: write M1575):\n30:     #0 operator new(unsigned long) \u003cnull\u003e (libtsan.so.0+0x000000025a33)\n30:     #1 __gnu_cxx::new_allocator\u003cstd::_Rb_tree_node\u003cstd::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e \u003e \u003e::allocate(unsigned long, void const*) \u003cnull\u003e (engine_testapp+0x0000004a6ca7)\n30:     #2 std::allocator_traits\u003cstd::allocator\u003cstd::_Rb_tree_node\u003cstd::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e \u003e \u003e \u003e::allocate(std::allocator\u003cstd::_Rb_tree_node\u003cstd::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e \u003e \u003e\u0026, unsigned long) \u003cnull\u003e (engine_testapp+0x0000004a5168)\n30:     #3 std::_Rb_tree\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e, std::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e, std::_Select1st\u003cstd::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e \u003e, std::less\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e, std::allocator\u003cstd::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e \u003e \u003e::_M_get_node() \u003cnull\u003e (engine_testapp+0x0000004a316f)\n30:     #4 std::_Rb_tree_node\u003cstd::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e \u003e* std::_Rb_tree\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e, std::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e, std::_Select1st\u003cstd::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e \u003e, std::less\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e, std::allocator\u003cstd::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e \u003e \u003e::_M_create_node\u003cstd::piecewise_construct_t const\u0026, std::tuple\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const\u0026\u003e, std::tuple\u003c\u003e \u003e(std::piecewise_construct_t const\u0026, std::tuple\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const\u0026\u003e\u0026\u0026, std::tuple\u003c\u003e\u0026\u0026) \u003cnull\u003e (engine_testapp+0x00000049c6b4)\n30:     #5 std::_Rb_tree_iterator\u003cstd::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e \u003e std::_Rb_tree\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e, std::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e, std::_Select1st\u003cstd::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e \u003e, std::less\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e, std::allocator\u003cstd::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e \u003e \u003e::_M_emplace_hint_unique\u003cstd::piecewise_construct_t const\u0026, std::tuple\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const\u0026\u003e, std::tuple\u003c\u003e \u003e(std::_Rb_tree_const_iterator\u003cstd::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e \u003e, std::piecewise_construct_t const\u0026, std::tuple\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const\u0026\u003e\u0026\u0026, std::tuple\u003c\u003e\u0026\u0026) \u003cnull\u003e (engine_testapp+0x00000049928e)\n30:     #6 std::map\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e, std::less\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e, std::allocator\u003cstd::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e \u003e \u003e::operator[](std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const\u0026) \u003cnull\u003e (engine_testapp+0x00000048e488)\n30:     #7 add_stats /home/owend/master/ep-engine/tests/ep_test_apis.cc:236 (ep_perfsuite.so+0x00000008f5b9)\n30:     #8 STATWRITER_NAMESPACE::add_casted_stat(char const*, char const*, void (*)(char const*, unsigned short, char const*, unsigned int, void const*), void const*) /home/owend/master/ep-engine/src/statwriter.h:39 (ep.so+0x0000000e5673)\n30:     #9 void STATWRITER_NAMESPACE::add_casted_stat\u003cunsigned long\u003e(char const*, unsigned long const\u0026, void (*)(char const*, unsigned short, char const*, unsigned int, void const*), void const*) /home/owend/master/ep-engine/src/statwriter.h:48 (ep.so+0x0000000e96ae)\n30:     #10 EventuallyPersistentEngine::addSeqnoVbStats(void const*, void (*)(char const*, unsigned short, char const*, unsigned int, void const*), RCPtr\u003cVBucket\u003e const\u0026) /home/owend/master/ep-engine/src/ep_engine.cc:4445 (ep.so+0x0000001ad56d)\n30:     #11 EventuallyPersistentEngine::doSeqnoStats(void const*, void (*)(char const*, unsigned short, char const*, unsigned int, void const*), char const*, int) /home/owend/master/ep-engine/src/ep_engine.cc:4490 (ep.so+0x0000001ad95f)\n30:     #12 EventuallyPersistentEngine::getStats(void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /home/owend/master/ep-engine/src/ep_engine.cc:4595 (ep.so+0x0000001ae4de)\n30:     #13 EvpGetStats /home/owend/master/ep-engine/src/ep_engine.cc:232 (ep.so+0x00000019851e)\n30:     #14 ENGINE_ERROR_CODE std::_Bind\u003cENGINE_ERROR_CODE (*(engine_interface*, void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)))(engine_interface*, void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*))\u003e::__call\u003cENGINE_ERROR_CODE, , 0ul, 1ul, 2ul, 3ul, 4ul\u003e(std::tuple\u003c\u003e\u0026\u0026, std::_Index_tuple\u003c0ul, 1ul, 2ul, 3ul, 4ul\u003e) \u003cnull\u003e (engine_testapp+0x00000049f211)\n30:     #15 ENGINE_ERROR_CODE std::_Bind\u003cENGINE_ERROR_CODE (*(engine_interface*, void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)))(engine_interface*, void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*))\u003e::operator()\u003c, ENGINE_ERROR_CODE\u003e() \u003cnull\u003e (engine_testapp+0x00000049aa02)\n30:     #16 std::_Function_handler\u003cENGINE_ERROR_CODE (), std::_Bind\u003cENGINE_ERROR_CODE (*(engine_interface*, void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)))(engine_interface*, void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*))\u003e \u003e::_M_invoke(std::_Any_data const\u0026) \u003cnull\u003e (engine_testapp+0x00000049145b)\n30:     #17 std::function\u003cENGINE_ERROR_CODE ()\u003e::operator()() const \u003cnull\u003e (engine_testapp+0x000000484e28)\n30:     #18 call_engine_and_handle_EWOULDBLOCK /home/owend/master/memcached/programs/engine_testapp/engine_testapp.cc:127 (engine_testapp+0x00000047cf00)\n30:     #19 mock_get_stats /home/owend/master/memcached/programs/engine_testapp/engine_testapp.cc:220 (engine_testapp+0x00000047d896)\n30:     #20 perf_stat_latency_core /home/owend/master/ep-engine/tests/ep_perfsuite.cc:1238 (ep_perfsuite.so+0x000000063d3d)\n30:     #21 perf_stat_latency /home/owend/master/ep-engine/tests/ep_perfsuite.cc:1306 (ep_perfsuite.so+0x00000006427a)\n30:     #22 perf_slow_stat_latency_100vb /home/owend/master/ep-engine/tests/ep_perfsuite.cc:1365 (ep_perfsuite.so+0x00000006498c)\n30:     #23 execute_test /home/owend/master/memcached/programs/engine_testapp/engine_testapp.cc:962 (engine_testapp+0x000000481776)\n30:     #24 main /home/owend/master/memcached/programs/engine_testapp/engine_testapp.cc:1359 (engine_testapp+0x000000482ab1)\n\nChange-Id: I7bdc847c0913244409fa044e312d53b484dc2dab\n"},"parents_data":[{"branch_name":"refs/heads/master","commit_id":"29bb51e4a6961e89b215aa8a6e7d2a9d3747b7ed","is_merged_in_target_branch":true,"change_id":"I0b8fb8169d84698e293779c8e7d2bb6e75dc9686","change_number":68473,"patch_set_number":27,"change_status":"MERGED"}],"branch":"refs/heads/master"},"f4ede518baeb338fdc6ffd690d83ff7a8e0657d3":{"kind":"REWORK","_number":16,"created":"2016-10-20 09:37:07.000000000","uploader":{"_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}]},"ref":"refs/changes/13/68813/16","fetch":{"anonymous http":{"url":"https://review.couchbase.org/ep-engine","ref":"refs/changes/13/68813/16","commands":{"Branch":"git fetch https://review.couchbase.org/ep-engine refs/changes/13/68813/16 \u0026\u0026 git checkout -b change-68813 FETCH_HEAD","Checkout":"git fetch https://review.couchbase.org/ep-engine refs/changes/13/68813/16 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.couchbase.org/ep-engine refs/changes/13/68813/16 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.couchbase.org/ep-engine refs/changes/13/68813/16 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.couchbase.org/ep-engine refs/changes/13/68813/16","Reset To":"git fetch https://review.couchbase.org/ep-engine refs/changes/13/68813/16 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"29bb51e4a6961e89b215aa8a6e7d2a9d3747b7ed","subject":"Use \u003d\u003d and compare instead of strncmp in getStats"}],"author":{"name":"Daniel Owen","email":"owend@couchbase.com","date":"2016-10-17 16:34:08.000000000","tz":60},"committer":{"name":"Daniel Owen","email":"owend@couchbase.com","date":"2016-10-20 09:36:51.000000000","tz":60},"subject":"MB-21379: Ensure vals data structure is thread safe in ep_testsuite","message":"MB-21379: Ensure vals data structure is thread safe in ep_testsuite\n\nWhen developing additional stats test for ep-engine_perfsuite, the\nfollowing data race was uncovered.\n\nThe patch ensures that accesses to vals are protected with a mutex.\nAlso get_stat and get_histo_stat can only be called one at a time as\nthey use the three global variables (requested_stat_name,\nactual_stat_value and histogram_stat_int_value).  Therefore a secondary\nmutex is required to enforce this.\n\nIt has been confirmed that with this patch the ThreadSanitizer issue\nno longer occurs.\n\n30: WARNING: ThreadSanitizer: data race (pid\u003d42065)\n30:   Read of size 8 at 0x7d1800060a38 by thread T18 (mutexes: write M1704):\n30:     #0 std::_Rb_tree\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e, std::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e, std::_Select1st\u003cstd::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e \u003e, std::less\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e, std::allocator\u003cstd::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e \u003e \u003e::_S_right(std::_Rb_tree_node_base*) \u003cnull\u003e (engine_testapp+0x00000049c503)\n30:     #1 std::_Rb_tree\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e, std::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e, std::_Select1st\u003cstd::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e \u003e, std::less\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e, std::allocator\u003cstd::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e \u003e \u003e::_M_lower_bound(std::_Rb_tree_node\u003cstd::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e \u003e*, std::_Rb_tree_node\u003cstd::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e \u003e*, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const\u0026) \u003cnull\u003e (engine_testapp+0x0000004a30db)\n30:     #2 std::_Rb_tree\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e, std::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e, std::_Select1st\u003cstd::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e \u003e, std::less\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e, std::allocator\u003cstd::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e \u003e \u003e::lower_bound(std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const\u0026) \u003cnull\u003e (engine_testapp+0x00000049c5f6)\n30:     #3 std::map\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e, std::less\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e, std::allocator\u003cstd::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e \u003e \u003e::lower_bound(std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const\u0026) \u003cnull\u003e (engine_testapp+0x000000499047)\n30:     #4 std::map\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e, std::less\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e, std::allocator\u003cstd::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e \u003e \u003e::operator[](std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const\u0026) \u003cnull\u003e (engine_testapp+0x00000048e3ba)\n30:     #5 add_stats /home/owend/master/ep-engine/tests/ep_test_apis.cc:236 (ep_perfsuite.so+0x00000008f5b9)\n30:     #6 STATWRITER_NAMESPACE::add_casted_stat(char const*, char const*, void (*)(char const*, unsigned short, char const*, unsigned int, void const*), void const*) /home/owend/master/ep-engine/src/statwriter.h:39 (ep.so+0x0000000e5673)\n30:     #7 StatCheckpointVisitor::addCheckpointStat(void const*, void (*)(char const*, unsigned short, char const*, unsigned int, void const*), EventuallyPersistentStore*, RCPtr\u003cVBucket\u003e\u0026) \u003cnull\u003e (ep.so+0x0000001c120c)\n30:     #8 StatCheckpointVisitor::visitBucket(RCPtr\u003cVBucket\u003e\u0026) \u003cnull\u003e (ep.so+0x0000001c10e5)\n30:     #9 EventuallyPersistentStore::visit(VBucketVisitor\u0026) /home/owend/master/ep-engine/src/ep.cc:3796 (ep.so+0x000000174559)\n30:     #10 StatCheckpointTask::run() \u003cnull\u003e (ep.so+0x0000001c155b)\n30:     #11 ExecutorThread::run() /home/owend/master/ep-engine/src/executorthread.cc:113 (ep.so+0x0000001ea96d)\n30:     #12 launch_executor_thread /home/owend/master/ep-engine/src/executorthread.cc:31 (ep.so+0x0000001ea0d0)\n30:     #13 CouchbaseThread::run() /home/owend/master/platform/src/cb_pthreads.cc:58 (libplatform_so.so.0.1.0+0x00000000c9c7)\n30:     #14 platform_thread_wrap /home/owend/master/platform/src/cb_pthreads.cc:71 (libplatform_so.so.0.1.0+0x00000000affe)\n30:     #15 \u003cnull\u003e \u003cnull\u003e (libtsan.so.0+0x0000000230d9)\n30:\n30:   Previous write of size 8 at 0x7d1800060a38 by main thread (mutexes: write M1575):\n30:     #0 operator new(unsigned long) \u003cnull\u003e (libtsan.so.0+0x000000025a33)\n30:     #1 __gnu_cxx::new_allocator\u003cstd::_Rb_tree_node\u003cstd::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e \u003e \u003e::allocate(unsigned long, void const*) \u003cnull\u003e (engine_testapp+0x0000004a6ca7)\n30:     #2 std::allocator_traits\u003cstd::allocator\u003cstd::_Rb_tree_node\u003cstd::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e \u003e \u003e \u003e::allocate(std::allocator\u003cstd::_Rb_tree_node\u003cstd::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e \u003e \u003e\u0026, unsigned long) \u003cnull\u003e (engine_testapp+0x0000004a5168)\n30:     #3 std::_Rb_tree\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e, std::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e, std::_Select1st\u003cstd::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e \u003e, std::less\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e, std::allocator\u003cstd::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e \u003e \u003e::_M_get_node() \u003cnull\u003e (engine_testapp+0x0000004a316f)\n30:     #4 std::_Rb_tree_node\u003cstd::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e \u003e* std::_Rb_tree\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e, std::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e, std::_Select1st\u003cstd::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e \u003e, std::less\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e, std::allocator\u003cstd::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e \u003e \u003e::_M_create_node\u003cstd::piecewise_construct_t const\u0026, std::tuple\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const\u0026\u003e, std::tuple\u003c\u003e \u003e(std::piecewise_construct_t const\u0026, std::tuple\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const\u0026\u003e\u0026\u0026, std::tuple\u003c\u003e\u0026\u0026) \u003cnull\u003e (engine_testapp+0x00000049c6b4)\n30:     #5 std::_Rb_tree_iterator\u003cstd::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e \u003e std::_Rb_tree\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e, std::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e, std::_Select1st\u003cstd::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e \u003e, std::less\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e, std::allocator\u003cstd::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e \u003e \u003e::_M_emplace_hint_unique\u003cstd::piecewise_construct_t const\u0026, std::tuple\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const\u0026\u003e, std::tuple\u003c\u003e \u003e(std::_Rb_tree_const_iterator\u003cstd::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e \u003e, std::piecewise_construct_t const\u0026, std::tuple\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const\u0026\u003e\u0026\u0026, std::tuple\u003c\u003e\u0026\u0026) \u003cnull\u003e (engine_testapp+0x00000049928e)\n30:     #6 std::map\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e, std::less\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e, std::allocator\u003cstd::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e \u003e \u003e::operator[](std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const\u0026) \u003cnull\u003e (engine_testapp+0x00000048e488)\n30:     #7 add_stats /home/owend/master/ep-engine/tests/ep_test_apis.cc:236 (ep_perfsuite.so+0x00000008f5b9)\n30:     #8 STATWRITER_NAMESPACE::add_casted_stat(char const*, char const*, void (*)(char const*, unsigned short, char const*, unsigned int, void const*), void const*) /home/owend/master/ep-engine/src/statwriter.h:39 (ep.so+0x0000000e5673)\n30:     #9 void STATWRITER_NAMESPACE::add_casted_stat\u003cunsigned long\u003e(char const*, unsigned long const\u0026, void (*)(char const*, unsigned short, char const*, unsigned int, void const*), void const*) /home/owend/master/ep-engine/src/statwriter.h:48 (ep.so+0x0000000e96ae)\n30:     #10 EventuallyPersistentEngine::addSeqnoVbStats(void const*, void (*)(char const*, unsigned short, char const*, unsigned int, void const*), RCPtr\u003cVBucket\u003e const\u0026) /home/owend/master/ep-engine/src/ep_engine.cc:4445 (ep.so+0x0000001ad56d)\n30:     #11 EventuallyPersistentEngine::doSeqnoStats(void const*, void (*)(char const*, unsigned short, char const*, unsigned int, void const*), char const*, int) /home/owend/master/ep-engine/src/ep_engine.cc:4490 (ep.so+0x0000001ad95f)\n30:     #12 EventuallyPersistentEngine::getStats(void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /home/owend/master/ep-engine/src/ep_engine.cc:4595 (ep.so+0x0000001ae4de)\n30:     #13 EvpGetStats /home/owend/master/ep-engine/src/ep_engine.cc:232 (ep.so+0x00000019851e)\n30:     #14 ENGINE_ERROR_CODE std::_Bind\u003cENGINE_ERROR_CODE (*(engine_interface*, void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)))(engine_interface*, void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*))\u003e::__call\u003cENGINE_ERROR_CODE, , 0ul, 1ul, 2ul, 3ul, 4ul\u003e(std::tuple\u003c\u003e\u0026\u0026, std::_Index_tuple\u003c0ul, 1ul, 2ul, 3ul, 4ul\u003e) \u003cnull\u003e (engine_testapp+0x00000049f211)\n30:     #15 ENGINE_ERROR_CODE std::_Bind\u003cENGINE_ERROR_CODE (*(engine_interface*, void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)))(engine_interface*, void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*))\u003e::operator()\u003c, ENGINE_ERROR_CODE\u003e() \u003cnull\u003e (engine_testapp+0x00000049aa02)\n30:     #16 std::_Function_handler\u003cENGINE_ERROR_CODE (), std::_Bind\u003cENGINE_ERROR_CODE (*(engine_interface*, void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)))(engine_interface*, void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*))\u003e \u003e::_M_invoke(std::_Any_data const\u0026) \u003cnull\u003e (engine_testapp+0x00000049145b)\n30:     #17 std::function\u003cENGINE_ERROR_CODE ()\u003e::operator()() const \u003cnull\u003e (engine_testapp+0x000000484e28)\n30:     #18 call_engine_and_handle_EWOULDBLOCK /home/owend/master/memcached/programs/engine_testapp/engine_testapp.cc:127 (engine_testapp+0x00000047cf00)\n30:     #19 mock_get_stats /home/owend/master/memcached/programs/engine_testapp/engine_testapp.cc:220 (engine_testapp+0x00000047d896)\n30:     #20 perf_stat_latency_core /home/owend/master/ep-engine/tests/ep_perfsuite.cc:1238 (ep_perfsuite.so+0x000000063d3d)\n30:     #21 perf_stat_latency /home/owend/master/ep-engine/tests/ep_perfsuite.cc:1306 (ep_perfsuite.so+0x00000006427a)\n30:     #22 perf_slow_stat_latency_100vb /home/owend/master/ep-engine/tests/ep_perfsuite.cc:1365 (ep_perfsuite.so+0x00000006498c)\n30:     #23 execute_test /home/owend/master/memcached/programs/engine_testapp/engine_testapp.cc:962 (engine_testapp+0x000000481776)\n30:     #24 main /home/owend/master/memcached/programs/engine_testapp/engine_testapp.cc:1359 (engine_testapp+0x000000482ab1)\n\nChange-Id: I7bdc847c0913244409fa044e312d53b484dc2dab\n"},"parents_data":[{"branch_name":"refs/heads/master","commit_id":"29bb51e4a6961e89b215aa8a6e7d2a9d3747b7ed","is_merged_in_target_branch":true,"change_id":"I0b8fb8169d84698e293779c8e7d2bb6e75dc9686","change_number":68473,"patch_set_number":27,"change_status":"MERGED"}],"branch":"refs/heads/master"},"d775e169d9eec9807ba3ed2afd8e2b4a51c5f122":{"kind":"REWORK","_number":17,"created":"2016-10-20 15:19:18.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/13/68813/17","fetch":{"anonymous http":{"url":"https://review.couchbase.org/ep-engine","ref":"refs/changes/13/68813/17","commands":{"Branch":"git fetch https://review.couchbase.org/ep-engine refs/changes/13/68813/17 \u0026\u0026 git checkout -b change-68813 FETCH_HEAD","Checkout":"git fetch https://review.couchbase.org/ep-engine refs/changes/13/68813/17 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.couchbase.org/ep-engine refs/changes/13/68813/17 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.couchbase.org/ep-engine refs/changes/13/68813/17 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.couchbase.org/ep-engine refs/changes/13/68813/17","Reset To":"git fetch https://review.couchbase.org/ep-engine refs/changes/13/68813/17 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"f4e92d826187cc96d6942b60f5bbb1ddeaf97e76","subject":"In EventuallyPersistentStore, move stop task funcs to deinitialize() from dtor"}],"author":{"name":"Daniel Owen","email":"owend@couchbase.com","date":"2016-10-17 16:34:08.000000000","tz":60},"committer":{"name":"Dave Rigby","email":"daver@couchbase.com","date":"2016-10-20 15:19:18.000000000","tz":0},"subject":"MB-21379: Ensure vals data structure is thread safe in ep_testsuite","message":"MB-21379: Ensure vals data structure is thread safe in ep_testsuite\n\nWhen developing additional stats test for ep-engine_perfsuite, the\nfollowing data race was uncovered.\n\nThe patch ensures that accesses to vals are protected with a mutex.\nAlso get_stat and get_histo_stat can only be called one at a time as\nthey use the three global variables (requested_stat_name,\nactual_stat_value and histogram_stat_int_value).  Therefore a secondary\nmutex is required to enforce this.\n\nIt has been confirmed that with this patch the ThreadSanitizer issue\nno longer occurs.\n\n30: WARNING: ThreadSanitizer: data race (pid\u003d42065)\n30:   Read of size 8 at 0x7d1800060a38 by thread T18 (mutexes: write M1704):\n30:     #0 std::_Rb_tree\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e, std::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e, std::_Select1st\u003cstd::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e \u003e, std::less\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e, std::allocator\u003cstd::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e \u003e \u003e::_S_right(std::_Rb_tree_node_base*) \u003cnull\u003e (engine_testapp+0x00000049c503)\n30:     #1 std::_Rb_tree\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e, std::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e, std::_Select1st\u003cstd::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e \u003e, std::less\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e, std::allocator\u003cstd::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e \u003e \u003e::_M_lower_bound(std::_Rb_tree_node\u003cstd::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e \u003e*, std::_Rb_tree_node\u003cstd::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e \u003e*, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const\u0026) \u003cnull\u003e (engine_testapp+0x0000004a30db)\n30:     #2 std::_Rb_tree\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e, std::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e, std::_Select1st\u003cstd::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e \u003e, std::less\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e, std::allocator\u003cstd::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e \u003e \u003e::lower_bound(std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const\u0026) \u003cnull\u003e (engine_testapp+0x00000049c5f6)\n30:     #3 std::map\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e, std::less\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e, std::allocator\u003cstd::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e \u003e \u003e::lower_bound(std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const\u0026) \u003cnull\u003e (engine_testapp+0x000000499047)\n30:     #4 std::map\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e, std::less\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e, std::allocator\u003cstd::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e \u003e \u003e::operator[](std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const\u0026) \u003cnull\u003e (engine_testapp+0x00000048e3ba)\n30:     #5 add_stats /home/owend/master/ep-engine/tests/ep_test_apis.cc:236 (ep_perfsuite.so+0x00000008f5b9)\n30:     #6 STATWRITER_NAMESPACE::add_casted_stat(char const*, char const*, void (*)(char const*, unsigned short, char const*, unsigned int, void const*), void const*) /home/owend/master/ep-engine/src/statwriter.h:39 (ep.so+0x0000000e5673)\n30:     #7 StatCheckpointVisitor::addCheckpointStat(void const*, void (*)(char const*, unsigned short, char const*, unsigned int, void const*), EventuallyPersistentStore*, RCPtr\u003cVBucket\u003e\u0026) \u003cnull\u003e (ep.so+0x0000001c120c)\n30:     #8 StatCheckpointVisitor::visitBucket(RCPtr\u003cVBucket\u003e\u0026) \u003cnull\u003e (ep.so+0x0000001c10e5)\n30:     #9 EventuallyPersistentStore::visit(VBucketVisitor\u0026) /home/owend/master/ep-engine/src/ep.cc:3796 (ep.so+0x000000174559)\n30:     #10 StatCheckpointTask::run() \u003cnull\u003e (ep.so+0x0000001c155b)\n30:     #11 ExecutorThread::run() /home/owend/master/ep-engine/src/executorthread.cc:113 (ep.so+0x0000001ea96d)\n30:     #12 launch_executor_thread /home/owend/master/ep-engine/src/executorthread.cc:31 (ep.so+0x0000001ea0d0)\n30:     #13 CouchbaseThread::run() /home/owend/master/platform/src/cb_pthreads.cc:58 (libplatform_so.so.0.1.0+0x00000000c9c7)\n30:     #14 platform_thread_wrap /home/owend/master/platform/src/cb_pthreads.cc:71 (libplatform_so.so.0.1.0+0x00000000affe)\n30:     #15 \u003cnull\u003e \u003cnull\u003e (libtsan.so.0+0x0000000230d9)\n30:\n30:   Previous write of size 8 at 0x7d1800060a38 by main thread (mutexes: write M1575):\n30:     #0 operator new(unsigned long) \u003cnull\u003e (libtsan.so.0+0x000000025a33)\n30:     #1 __gnu_cxx::new_allocator\u003cstd::_Rb_tree_node\u003cstd::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e \u003e \u003e::allocate(unsigned long, void const*) \u003cnull\u003e (engine_testapp+0x0000004a6ca7)\n30:     #2 std::allocator_traits\u003cstd::allocator\u003cstd::_Rb_tree_node\u003cstd::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e \u003e \u003e \u003e::allocate(std::allocator\u003cstd::_Rb_tree_node\u003cstd::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e \u003e \u003e\u0026, unsigned long) \u003cnull\u003e (engine_testapp+0x0000004a5168)\n30:     #3 std::_Rb_tree\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e, std::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e, std::_Select1st\u003cstd::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e \u003e, std::less\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e, std::allocator\u003cstd::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e \u003e \u003e::_M_get_node() \u003cnull\u003e (engine_testapp+0x0000004a316f)\n30:     #4 std::_Rb_tree_node\u003cstd::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e \u003e* std::_Rb_tree\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e, std::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e, std::_Select1st\u003cstd::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e \u003e, std::less\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e, std::allocator\u003cstd::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e \u003e \u003e::_M_create_node\u003cstd::piecewise_construct_t const\u0026, std::tuple\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const\u0026\u003e, std::tuple\u003c\u003e \u003e(std::piecewise_construct_t const\u0026, std::tuple\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const\u0026\u003e\u0026\u0026, std::tuple\u003c\u003e\u0026\u0026) \u003cnull\u003e (engine_testapp+0x00000049c6b4)\n30:     #5 std::_Rb_tree_iterator\u003cstd::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e \u003e std::_Rb_tree\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e, std::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e, std::_Select1st\u003cstd::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e \u003e, std::less\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e, std::allocator\u003cstd::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e \u003e \u003e::_M_emplace_hint_unique\u003cstd::piecewise_construct_t const\u0026, std::tuple\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const\u0026\u003e, std::tuple\u003c\u003e \u003e(std::_Rb_tree_const_iterator\u003cstd::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e \u003e, std::piecewise_construct_t const\u0026, std::tuple\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const\u0026\u003e\u0026\u0026, std::tuple\u003c\u003e\u0026\u0026) \u003cnull\u003e (engine_testapp+0x00000049928e)\n30:     #6 std::map\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e, std::less\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e, std::allocator\u003cstd::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e \u003e \u003e::operator[](std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const\u0026) \u003cnull\u003e (engine_testapp+0x00000048e488)\n30:     #7 add_stats /home/owend/master/ep-engine/tests/ep_test_apis.cc:236 (ep_perfsuite.so+0x00000008f5b9)\n30:     #8 STATWRITER_NAMESPACE::add_casted_stat(char const*, char const*, void (*)(char const*, unsigned short, char const*, unsigned int, void const*), void const*) /home/owend/master/ep-engine/src/statwriter.h:39 (ep.so+0x0000000e5673)\n30:     #9 void STATWRITER_NAMESPACE::add_casted_stat\u003cunsigned long\u003e(char const*, unsigned long const\u0026, void (*)(char const*, unsigned short, char const*, unsigned int, void const*), void const*) /home/owend/master/ep-engine/src/statwriter.h:48 (ep.so+0x0000000e96ae)\n30:     #10 EventuallyPersistentEngine::addSeqnoVbStats(void const*, void (*)(char const*, unsigned short, char const*, unsigned int, void const*), RCPtr\u003cVBucket\u003e const\u0026) /home/owend/master/ep-engine/src/ep_engine.cc:4445 (ep.so+0x0000001ad56d)\n30:     #11 EventuallyPersistentEngine::doSeqnoStats(void const*, void (*)(char const*, unsigned short, char const*, unsigned int, void const*), char const*, int) /home/owend/master/ep-engine/src/ep_engine.cc:4490 (ep.so+0x0000001ad95f)\n30:     #12 EventuallyPersistentEngine::getStats(void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /home/owend/master/ep-engine/src/ep_engine.cc:4595 (ep.so+0x0000001ae4de)\n30:     #13 EvpGetStats /home/owend/master/ep-engine/src/ep_engine.cc:232 (ep.so+0x00000019851e)\n30:     #14 ENGINE_ERROR_CODE std::_Bind\u003cENGINE_ERROR_CODE (*(engine_interface*, void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)))(engine_interface*, void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*))\u003e::__call\u003cENGINE_ERROR_CODE, , 0ul, 1ul, 2ul, 3ul, 4ul\u003e(std::tuple\u003c\u003e\u0026\u0026, std::_Index_tuple\u003c0ul, 1ul, 2ul, 3ul, 4ul\u003e) \u003cnull\u003e (engine_testapp+0x00000049f211)\n30:     #15 ENGINE_ERROR_CODE std::_Bind\u003cENGINE_ERROR_CODE (*(engine_interface*, void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)))(engine_interface*, void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*))\u003e::operator()\u003c, ENGINE_ERROR_CODE\u003e() \u003cnull\u003e (engine_testapp+0x00000049aa02)\n30:     #16 std::_Function_handler\u003cENGINE_ERROR_CODE (), std::_Bind\u003cENGINE_ERROR_CODE (*(engine_interface*, void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)))(engine_interface*, void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*))\u003e \u003e::_M_invoke(std::_Any_data const\u0026) \u003cnull\u003e (engine_testapp+0x00000049145b)\n30:     #17 std::function\u003cENGINE_ERROR_CODE ()\u003e::operator()() const \u003cnull\u003e (engine_testapp+0x000000484e28)\n30:     #18 call_engine_and_handle_EWOULDBLOCK /home/owend/master/memcached/programs/engine_testapp/engine_testapp.cc:127 (engine_testapp+0x00000047cf00)\n30:     #19 mock_get_stats /home/owend/master/memcached/programs/engine_testapp/engine_testapp.cc:220 (engine_testapp+0x00000047d896)\n30:     #20 perf_stat_latency_core /home/owend/master/ep-engine/tests/ep_perfsuite.cc:1238 (ep_perfsuite.so+0x000000063d3d)\n30:     #21 perf_stat_latency /home/owend/master/ep-engine/tests/ep_perfsuite.cc:1306 (ep_perfsuite.so+0x00000006427a)\n30:     #22 perf_slow_stat_latency_100vb /home/owend/master/ep-engine/tests/ep_perfsuite.cc:1365 (ep_perfsuite.so+0x00000006498c)\n30:     #23 execute_test /home/owend/master/memcached/programs/engine_testapp/engine_testapp.cc:962 (engine_testapp+0x000000481776)\n30:     #24 main /home/owend/master/memcached/programs/engine_testapp/engine_testapp.cc:1359 (engine_testapp+0x000000482ab1)\n\nChange-Id: I7bdc847c0913244409fa044e312d53b484dc2dab\nReviewed-on: http://review.couchbase.org/68813\nReviewed-by: Dave Rigby \u003cdaver@couchbase.com\u003e\nTested-by: buildbot \u003cbuild@couchbase.com\u003e\n"},"parents_data":[{"branch_name":"refs/heads/master","commit_id":"f4e92d826187cc96d6942b60f5bbb1ddeaf97e76","is_merged_in_target_branch":true,"change_id":"Ie090fd74b7bad77642666d85969c97ae5001a027","change_number":68974,"patch_set_number":3,"change_status":"MERGED"}],"branch":"refs/heads/master"}},"requirements":[],"submit_records":[],"submit_requirements":[]}
