{"push_id":816355948,"size":85,"distinct_size":50,"ref":"refs/heads/f-memdb","head":"beb63224556d8c26fdbedbfb16663576bff4d5eb","before":"c5e23e1a75946182b80b765ab71216f29b6c8965","commits":[{"sha":"6a835939b8314593f55bd25a4540ea7e73591a47","author":{"email":"81c1472405c37ff0c399ced6f00e84339fdb22ee@yahoo-inc.com","name":"Shawn Cook"},"message":"EnableTagDrift in NodeService struct","distinct":false,"url":"https://api.github.com/repos/hashicorp/consul/commits/6a835939b8314593f55bd25a4540ea7e73591a47"},{"sha":"152eca3a37d4e1076ef0e16cffbb61a18c4030fc","author":{"email":"81c1472405c37ff0c399ced6f00e84339fdb22ee@yahoo-inc.com","name":"Shawn Cook"},"message":"Remove from testutil/server.go","distinct":false,"url":"https://api.github.com/repos/hashicorp/consul/commits/152eca3a37d4e1076ef0e16cffbb61a18c4030fc"},{"sha":"a0f8c0a2a056e1077bdfebcb2cdaa58762258898","author":{"email":"81c1472405c37ff0c399ced6f00e84339fdb22ee@yahoo-inc.com","name":"Shawn Cook"},"message":"Remove from command/agent/config_test.go","distinct":false,"url":"https://api.github.com/repos/hashicorp/consul/commits/a0f8c0a2a056e1077bdfebcb2cdaa58762258898"},{"sha":"96785edd9a6eca327567262b63966030371fea9f","author":{"email":"81c1472405c37ff0c399ced6f00e84339fdb22ee@yahoo-inc.com","name":"Shawn Cook"},"message":"Add EnableTagDrift logic to command/agent/local.go","distinct":false,"url":"https://api.github.com/repos/hashicorp/consul/commits/96785edd9a6eca327567262b63966030371fea9f"},{"sha":"ab91590bcb9ead3b0d2e73a28f4cea7246a11a5f","author":{"email":"81c1472405c37ff0c399ced6f00e84339fdb22ee@yahoo-inc.com","name":"Shawn Cook"},"message":"Update tests - NodeService init needs bool","distinct":false,"url":"https://api.github.com/repos/hashicorp/consul/commits/ab91590bcb9ead3b0d2e73a28f4cea7246a11a5f"},{"sha":"c8b4e3252d4690d5e30f15bcb6dccce3e7a30083","author":{"email":"81c1472405c37ff0c399ced6f00e84339fdb22ee@yahoo-inc.com","name":"Shawn Cook"},"message":"Merge remote-tracking branch 'hashicorp/master' into enable_tag_drift_03","distinct":false,"url":"https://api.github.com/repos/hashicorp/consul/commits/c8b4e3252d4690d5e30f15bcb6dccce3e7a30083"},{"sha":"35f276f25ddfa1147ba9410b7d98e33b245afcd9","author":{"email":"81c1472405c37ff0c399ced6f00e84339fdb22ee@yahoo-inc.com","name":"Shawn Cook"},"message":"Add test cases TestAgentAntiEntropy_EnableTagDrift","distinct":false,"url":"https://api.github.com/repos/hashicorp/consul/commits/35f276f25ddfa1147ba9410b7d98e33b245afcd9"},{"sha":"0b3faf6e4a9cbf4e94989c735e6db1a99efd1cd0","author":{"email":"81c1472405c37ff0c399ced6f00e84339fdb22ee@yahoo-inc.com","name":"Shawn Cook"},"message":"Merge remote-tracking branch 'hashicorp/master' into enable_tag_drift_03","distinct":false,"url":"https://api.github.com/repos/hashicorp/consul/commits/0b3faf6e4a9cbf4e94989c735e6db1a99efd1cd0"},{"sha":"d7ce0b3c6b54ab2c443bc3bb43ff23e963927f34","author":{"email":"81c1472405c37ff0c399ced6f00e84339fdb22ee@yahoo-inc.com","name":"Shawn Cook"},"message":"Remove debug lines","distinct":false,"url":"https://api.github.com/repos/hashicorp/consul/commits/d7ce0b3c6b54ab2c443bc3bb43ff23e963927f34"},{"sha":"66fd8fb2a099d470f21a1b820873202463aed8c2","author":{"email":"81c1472405c37ff0c399ced6f00e84339fdb22ee@yahoo-inc.com","name":"Shawn Cook"},"message":"Rename EnableTagOverride and update formatting","distinct":false,"url":"https://api.github.com/repos/hashicorp/consul/commits/66fd8fb2a099d470f21a1b820873202463aed8c2"},{"sha":"24bc17eaa19ab5dbac87901f29e616f59ef83c50","author":{"email":"64b2b6d12bfe4baae7dad3d018f8cbf6b0e7a044@wuub.net","name":"Wojciech Bederski"},"message":"failing test showing that nested Pause()/Resume() release too early\nsee: #1173 / https://github.com/hashicorp/consul/issues/1173","distinct":false,"url":"https://api.github.com/repos/hashicorp/consul/commits/24bc17eaa19ab5dbac87901f29e616f59ef83c50"},{"sha":"a626ae1892b2f4882f09259e5da3686ea6b70bcc","author":{"email":"4367afb03dd6ae2b09a1bd0eea661e2d1b941464@kuleuven.be","name":"Jo Vandeginste"},"message":"Add quotes to locations in case pwd contains spaces","distinct":false,"url":"https://api.github.com/repos/hashicorp/consul/commits/a626ae1892b2f4882f09259e5da3686ea6b70bcc"},{"sha":"b014c0f91bb65c6f1039dab980093d652fee5253","author":{"email":"64b2b6d12bfe4baae7dad3d018f8cbf6b0e7a044@wuub.net","name":"Wojciech Bederski"},"message":"make Pause()/Resume()/isPaused() behave more like a semaphore\nsee: https://github.com/hashicorp/consul/issues/1173 #1173\n\nReasoning: somewhere during consul development Pause()/Resume() and\nPauseSync()/ResumeSync() were added to protect larger changes to\nagent's localState.  A few of the places that it tries to protect are:\n\n- (a *Agent) AddService(...)      # part of the method\n- (c *Command) handleReload(...)  # almost the whole method\n- (l *localState) antiEntropy(...)# isPaused() prevents syncChanges()\n\nThe main problem is, that in the middle of handleReload(...)'s\ncritical section it indirectly (loadServices()) calls  AddService(...).\nAddService() in turn calls Pause() to protect itself against\nsyncChanges(). At the end of AddService() a defered call to Resume() is\nmade.\n\nWith the current implementation, this releases\nisPaused() \"lock\" in the middle of handleReload() allowing antiEntropy\nto kick in while configuration reload is still in progress.\nSpecifically almost all services and probably all check are unloaded\nwhen syncChanges() is allowed to run.\n\nThis in turn can causes massive service/check de-/re-registration,\nand since checks are by default registered in the critical state,\na majority of services on a node can be marked as failing.\nIt's made worse with automation, often calling `consul reload` in close\nproximity on many nodes in the cluster.\n\nThis change basically turns Pause()/Resume() into P()/V() of\na garden-variety semaphore. Allowing Pause() to be called multiple times,\nand releasing isPaused() only after all matching/defered Resumes() are\ncalled as well.\n\nTODO/NOTE: as with many semaphore implementations, it might be reasonable\nto panic() if l.paused ever becomes negative.","distinct":false,"url":"https://api.github.com/repos/hashicorp/consul/commits/b014c0f91bb65c6f1039dab980093d652fee5253"},{"sha":"e347f20790b81a7a64bff05756900e9294f46892","author":{"email":"ea3cd978650417470535f3a4725b6b5042a6ab59@ryanbreen.com","name":"Ryan Breen"},"message":"Merge pull request #1234 from jovandeginste/quote-variable\n\nAdd quotes to locations in case pwd contains spaces","distinct":false,"url":"https://api.github.com/repos/hashicorp/consul/commits/e347f20790b81a7a64bff05756900e9294f46892"},{"sha":"4caf049c4cdd92149c38dc6e98c987a27516a1fd","author":{"email":"81c1472405c37ff0c399ced6f00e84339fdb22ee@yahoo-inc.com","name":"Shawn Cook"},"message":"Update documentation for service definition","distinct":false,"url":"https://api.github.com/repos/hashicorp/consul/commits/4caf049c4cdd92149c38dc6e98c987a27516a1fd"},{"sha":"10e028d599e8d8c107101b0e14f7b9962f8ce197","author":{"email":"6c0612ee0e790b60dc69246e2218488423a7ced3@gmail.com","name":"Anthony Scalisi"},"message":"remove various typos","distinct":false,"url":"https://api.github.com/repos/hashicorp/consul/commits/10e028d599e8d8c107101b0e14f7b9962f8ce197"},{"sha":"0722c1521a461229c1b6fc304f63b5e3d21b60d3","author":{"email":"ea3cd978650417470535f3a4725b6b5042a6ab59@ryanbreen.com","name":"Ryan Breen"},"message":"Merge pull request #1236 from scalp42/typos\n\nremove various typos","distinct":false,"url":"https://api.github.com/repos/hashicorp/consul/commits/0722c1521a461229c1b6fc304f63b5e3d21b60d3"},{"sha":"598526eba280b1f06260c0e63090273d3f6179e9","author":{"email":"81c1472405c37ff0c399ced6f00e84339fdb22ee@yahoo-inc.com","name":"Shawn Cook"},"message":"Docs - add verbage to anti-entropy page.","distinct":false,"url":"https://api.github.com/repos/hashicorp/consul/commits/598526eba280b1f06260c0e63090273d3f6179e9"},{"sha":"1f330add02be26eb4c0eeb743ea3a2f4cfbf2cd0","author":{"email":"81c1472405c37ff0c399ced6f00e84339fdb22ee@yahoo-inc.com","name":"Shawn Cook"},"message":"Doc changes in response to review.","distinct":false,"url":"https://api.github.com/repos/hashicorp/consul/commits/1f330add02be26eb4c0eeb743ea3a2f4cfbf2cd0"},{"sha":"2f9ebdb13555abd221b04117657f4da01b03fa6a","author":{"email":"ffe817756d0db9300ddf546f692c50ed184a165f@gmail.com","name":"James Phillips"},"message":"Merge pull request #1187 from sfncook/enable_tag_drift_03\n\nEnable tag drift 03","distinct":false,"url":"https://api.github.com/repos/hashicorp/consul/commits/2f9ebdb13555abd221b04117657f4da01b03fa6a"}]}