{"action":"created","issue":{"url":"https://api.github.com/repos/hashicorp/consul/issues/4303","repository_url":"https://api.github.com/repos/hashicorp/consul","labels_url":"https://api.github.com/repos/hashicorp/consul/issues/4303/labels{/name}","comments_url":"https://api.github.com/repos/hashicorp/consul/issues/4303/comments","events_url":"https://api.github.com/repos/hashicorp/consul/issues/4303/events","html_url":"https://github.com/hashicorp/consul/pull/4303","id":336526487,"node_id":"MDExOlB1bGxSZXF1ZXN0MTk3OTU2Mjgy","number":4303,"title":"Only send one single ACL cache refresh across network when TTL is over","user":{"login":"pierresouchay","id":8089033,"node_id":"MDQ6VXNlcjgwODkwMzM=","avatar_url":"https://avatars3.githubusercontent.com/u/8089033?v=4","gravatar_id":"","url":"https://api.github.com/users/pierresouchay","html_url":"https://github.com/pierresouchay","followers_url":"https://api.github.com/users/pierresouchay/followers","following_url":"https://api.github.com/users/pierresouchay/following{/other_user}","gists_url":"https://api.github.com/users/pierresouchay/gists{/gist_id}","starred_url":"https://api.github.com/users/pierresouchay/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pierresouchay/subscriptions","organizations_url":"https://api.github.com/users/pierresouchay/orgs","repos_url":"https://api.github.com/users/pierresouchay/repos","events_url":"https://api.github.com/users/pierresouchay/events{/privacy}","received_events_url":"https://api.github.com/users/pierresouchay/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":2,"created_at":"2018-06-28T08:40:09Z","updated_at":"2018-06-29T20:42:03Z","closed_at":null,"author_association":"CONTRIBUTOR","pull_request":{"url":"https://api.github.com/repos/hashicorp/consul/pulls/4303","html_url":"https://github.com/hashicorp/consul/pull/4303","diff_url":"https://github.com/hashicorp/consul/pull/4303.diff","patch_url":"https://github.com/hashicorp/consul/pull/4303.patch"},"body":"It will allow the following:\r\n\r\n * when connectivity is limited (saturated linnks between DCs), only one\r\n   single request to refresh an ACL will be sent to ACL master DC instead\r\n   of statcking ACL refresh queries\r\n * when extend-cache is used for ACL, do not wait for result, but refresh\r\n   the ACL asynchronously, so no delay is not impacting slave DC\r\n * When extend-cache is not used, keep the existing blocking mechanism,\r\n   but only send a single refresh request.\r\n\r\nThis will fix https://github.com/hashicorp/consul/issues/3524"},"comment":{"url":"https://api.github.com/repos/hashicorp/consul/issues/comments/401468604","html_url":"https://github.com/hashicorp/consul/pull/4303#issuecomment-401468604","issue_url":"https://api.github.com/repos/hashicorp/consul/issues/4303","id":401468604,"node_id":"MDEyOklzc3VlQ29tbWVudDQwMTQ2ODYwNA==","user":{"login":"mkeeler","id":1641976,"node_id":"MDQ6VXNlcjE2NDE5NzY=","avatar_url":"https://avatars1.githubusercontent.com/u/1641976?v=4","gravatar_id":"","url":"https://api.github.com/users/mkeeler","html_url":"https://github.com/mkeeler","followers_url":"https://api.github.com/users/mkeeler/followers","following_url":"https://api.github.com/users/mkeeler/following{/other_user}","gists_url":"https://api.github.com/users/mkeeler/gists{/gist_id}","starred_url":"https://api.github.com/users/mkeeler/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mkeeler/subscriptions","organizations_url":"https://api.github.com/users/mkeeler/orgs","repos_url":"https://api.github.com/users/mkeeler/repos","events_url":"https://api.github.com/users/mkeeler/events{/privacy}","received_events_url":"https://api.github.com/users/mkeeler/received_events","type":"User","site_admin":false},"created_at":"2018-06-29T20:42:03Z","updated_at":"2018-06-29T20:42:03Z","author_association":"CONTRIBUTOR","body":"For me it comes down to semantics and expectations not great operational differences. In this case the ACL DC isn't down and therefore there should be no need to \"extend\" the cache. The new mode makes the expectations clear that token refresh is going to be done async.\r\n\r\nI can imagine a scenario where Consul allowed a invalidated token to be used past its TTL and someone getting very upset because their ACL DC was still fine (even if a little slow to respond).\r\n\r\nWith regards to tests, none of them should actually be broken. After merging the connect features int master into a local clone I ran all the tests and ones that failed when running the full suite I ran in isolation to make sure they all COULD pass. When running the full suite and especially within Travis things are pretty flaky. Its on our radar and we have a couple people getting ready to take a deep dive on improving the test suite and being able to accurately and reliably run tests.\r\n\r\nThe command I use for test isolation is `go test -run <test name> <package the test is in>` so something like `go test -run TestDNS_NodeLookup ./agent`"}}
{"actor":{"display_login":"mkeeler"}}