open-consul/agent/consul
James Phillips a1db119d02 Fixes handling of stop channel and failed barrier attempts. (#3546)
* Fixes handling of stop channel and failed barrier attempts.

There were two issues here. First, we needed to not exit when there
was a timeout trying to write the barrier, because Raft might not
step down, so we'd be left as the leader but having run all the step
down actions.

Second, we didn't close over the stopCh correctly, so it was possible
to nil that out and have the leaderLoop never exit. We close over it
properly AND sequence the nil-ing of it AFTER the leaderLoop exits for
good measure, so the code is more robust.

Fixes #3545

* Cleans up based on code review feedback.

* Tweaks comments.

* Renames variables and removes comments.
2017-10-06 07:54:49 -07:00
..
prepared_query Add agent.segment interpolation to prepared queries 2017-08-30 11:58:29 -07:00
state Add agent.segment interpolation to prepared queries 2017-08-30 11:58:29 -07:00
acl.go Update metric names and add a legacy config flag 2017-10-04 16:43:27 -07:00
acl_endpoint.go Update metric names and add a legacy config flag 2017-10-04 16:43:27 -07:00
acl_endpoint_test.go acl: consolidate error handling (#3401) 2017-08-23 16:52:48 +02:00
acl_replication.go Update metric names and add a legacy config flag 2017-10-04 16:43:27 -07:00
acl_replication_test.go agent: move agent/consul/structs to agent/structs 2017-08-09 14:32:12 +02:00
acl_test.go Bumps default Raft protocol to version 3. (#3477) 2017-09-25 15:27:04 -07:00
autopilot.go Update metric names and add a legacy config flag 2017-10-04 16:43:27 -07:00
autopilot_test.go Bumps default Raft protocol to version 3. (#3477) 2017-09-25 15:27:04 -07:00
catalog_endpoint.go Update metric names and add a legacy config flag 2017-10-04 16:43:27 -07:00
catalog_endpoint_test.go Bumps default Raft protocol to version 3. (#3477) 2017-09-25 15:27:04 -07:00
client.go Update metric names and add a legacy config flag 2017-10-04 16:43:27 -07:00
client_serf.go New config parser, HCL support, multiple bind addrs (#3480) 2017-09-25 11:40:42 -07:00
client_test.go Adds simple rate limiting for client agent RPC calls to Consul servers. (#3440) 2017-09-01 15:02:50 -07:00
config.go Introduces new 'list' permission that applies to KV store recursive reads, and enforced only when opted in. 2017-10-02 17:10:21 -05:00
coordinate_endpoint.go Introduce Code Policy validation via sentinel, with a noop implementation 2017-09-25 13:44:55 -05:00
coordinate_endpoint_test.go Adds open source side of network segments (feature is Enterprise-only). 2017-08-30 11:58:29 -07:00
filter.go Revert "Return 403 rather than a 404 when acls cause all results to be filter…" 2017-08-09 15:06:57 -07:00
filter_test.go Introduce Code Policy validation via sentinel, with a noop implementation 2017-09-25 13:44:55 -05:00
flood.go Add segment addr field to tags for LAN flood joiner 2017-08-30 11:58:29 -07:00
fsm.go Update metric names and add a legacy config flag 2017-10-04 16:43:27 -07:00
fsm_test.go agent: move agent/consul/structs to agent/structs 2017-08-09 14:32:12 +02:00
health_endpoint.go Update metric names and add a legacy config flag 2017-10-04 16:43:27 -07:00
health_endpoint_test.go Adds open source side of network segments (feature is Enterprise-only). 2017-08-30 11:58:29 -07:00
helper_test.go Bumps default Raft protocol to version 3. (#3477) 2017-09-25 15:27:04 -07:00
internal_endpoint.go Cleans up formatting. 2017-09-07 12:26:58 -07:00
internal_endpoint_test.go acl: consolidate error handling (#3401) 2017-08-23 16:52:48 +02:00
issue_test.go agent: move agent/consul/structs to agent/structs 2017-08-09 14:32:12 +02:00
kvs_endpoint.go Update metric names and add a legacy config flag 2017-10-04 16:43:27 -07:00
kvs_endpoint_test.go Remove extra newline 2017-10-03 15:19:31 -05:00
leader.go Fixes handling of stop channel and failed barrier attempts. (#3546) 2017-10-06 07:54:49 -07:00
leader_test.go Issue 3452 (#3500) 2017-09-26 20:49:41 -07:00
merge.go Takes the skip out of the client check. 2017-09-06 17:05:40 -07:00
merge_test.go Skips unique node ID check for old versions of Consul. 2017-09-05 22:57:29 -07:00
operator_autopilot_endpoint.go acl: consolidate error handling (#3401) 2017-08-23 16:52:48 +02:00
operator_autopilot_endpoint_test.go acl: consolidate error handling (#3401) 2017-08-23 16:52:48 +02:00
operator_endpoint.go pkg refactor 2017-06-10 18:52:45 +02:00
operator_raft_endpoint.go Move Raft protocol version for list peers end point to server side, fix unit tests. This fixes #3449 2017-09-26 09:35:39 -05:00
operator_raft_endpoint_test.go Move Raft protocol version for list peers end point to server side, fix unit tests. This fixes #3449 2017-09-26 09:35:39 -05:00
prepared_query_endpoint.go Update metric names and add a legacy config flag 2017-10-04 16:43:27 -07:00
prepared_query_endpoint_test.go acl: consolidate error handling (#3401) 2017-08-23 16:52:48 +02:00
raft_rpc.go agent: move conn pool for muxed connections into separate pkg 2017-06-21 05:42:39 +02:00
rpc.go Update metric names and add a legacy config flag 2017-10-04 16:43:27 -07:00
rpc_test.go agent: move agent/consul/structs to agent/structs 2017-08-09 14:32:12 +02:00
rtt.go Adds open source side of network segments (feature is Enterprise-only). 2017-08-30 11:58:29 -07:00
rtt_test.go agent: move agent/consul/structs to agent/structs 2017-08-09 14:32:12 +02:00
segment_stub.go Update metric names and add a legacy config flag 2017-10-04 16:43:27 -07:00
serf_test.go pkg refactor 2017-06-10 18:52:45 +02:00
server.go Bumps default Raft protocol to version 3. (#3477) 2017-09-25 15:27:04 -07:00
server_lookup.go More cleanup from code review 2017-08-30 12:31:36 -05:00
server_lookup_test.go More cleanup from code review 2017-08-30 12:31:36 -05:00
server_serf.go New config parser, HCL support, multiple bind addrs (#3480) 2017-09-25 11:40:42 -07:00
server_test.go Bumps default Raft protocol to version 3. (#3477) 2017-09-25 15:27:04 -07:00
session_endpoint.go Update metric names and add a legacy config flag 2017-10-04 16:43:27 -07:00
session_endpoint_test.go acl: consolidate error handling (#3401) 2017-08-23 16:52:48 +02:00
session_timers.go address review comments 2017-07-07 09:22:34 +02:00
session_timers_test.go rpc: refactor sessionTimers and fix racy tests 2017-07-07 09:22:34 +02:00
session_ttl.go Update metric names and add a legacy config flag 2017-10-04 16:43:27 -07:00
session_ttl_test.go agent: move agent/consul/structs to agent/structs 2017-08-09 14:32:12 +02:00
snapshot_endpoint.go acl: consolidate error handling (#3401) 2017-08-23 16:52:48 +02:00
snapshot_endpoint_test.go Cleans up some edge cases in TestSnapshot_Forward_Leader. 2017-09-26 14:07:28 -07:00
stats_fetcher.go agent: move agent/consul/agent to agent/metadata 2017-08-09 14:36:52 +02:00
stats_fetcher_test.go Gets rid of flaky clause in stats fetcher unit test. 2017-09-26 20:53:06 -07:00
status_endpoint.go agent: move agent/consul/structs to agent/structs 2017-08-09 14:32:12 +02:00
status_endpoint_test.go rpc: run agent/consul tests in parallel 2017-07-07 09:22:34 +02:00
txn_endpoint.go Update metric names and add a legacy config flag 2017-10-04 16:43:27 -07:00
txn_endpoint_test.go acl: consolidate error handling (#3401) 2017-08-23 16:52:48 +02:00
util.go agent: move agent/consul/agent to agent/metadata 2017-08-09 14:36:52 +02:00
util_test.go pkg refactor 2017-06-10 18:52:45 +02:00