James Phillips
99ab3390c2
Updates hashicorp/hcl and hashicorp/hil.
...
This required a small mod to core Consul code to cope with an interface
change.
2016-08-09 17:24:13 -07:00
James Phillips
ff6d42389c
Merge pull request #2222 from hashicorp/f-raft-v2
...
Integrates Consul with "stage one" of HashiCorp Raft library v2.
2016-08-09 16:04:48 -07:00
James Phillips
cce38f9a4b
Moves the peers.info content down into a constant.
2016-08-09 11:56:39 -07:00
James Phillips
7aaa4bc913
Adds peers back into bootstrap log, makes initial case consistent.
2016-08-09 11:52:41 -07:00
James Phillips
7f58b05dfe
Tweaks select style.
2016-08-09 11:33:42 -07:00
James Phillips
544169999c
Adds I/O-sensitive metrics to ACL replication operations.
2016-08-09 11:32:12 -07:00
James Phillips
820509760d
Switches to a smooth rate limit vs. a bursty one.
2016-08-09 11:29:12 -07:00
James Phillips
129e327bc9
Clarifies replication index shown in the log message.
2016-08-09 11:10:32 -07:00
James Phillips
4203612bd7
Returns from the shutdown wait right away.
2016-08-09 11:09:48 -07:00
James Phillips
e03fbef6b3
Moves ACL ID sorting interface onto the iterator.
2016-08-09 11:08:26 -07:00
James Phillips
0fa059ec49
Switches all ACL caches to 2Q.
2016-08-09 11:00:22 -07:00
James Phillips
1e75fa0362
Moves ACL ID generation down into the endpoint.
...
We don't want ACL replication to have this behavior so it was a
little dangerous to have in the shared helper function.
2016-08-09 00:11:00 -07:00
James Phillips
06a510a808
Removes unsafe "recover to empty" code.
...
This isn't safe because it would implicitly commit all outstanding log
entries. The new Raft library already has logic to not start a vote if
the current node isn't in the configuration, so this shoudn't be needed.
2016-08-08 19:19:19 -07:00
James Phillips
dd3169b395
Tweaks recovery based on interface changes.
2016-08-08 19:19:18 -07:00
James Phillips
19004e7095
Moves to a safer design where we don't ingest the initial peers.json file.
2016-08-08 19:19:18 -07:00
James Phillips
44c468995f
Touches up Raft integration after latest changes.
2016-08-08 19:19:18 -07:00
James Phillips
fc25145e85
Formats log messages to be consistent.
2016-08-08 19:19:18 -07:00
James Phillips
6b157eada0
Adds more comments about the raftSafeFn.
2016-08-08 19:19:18 -07:00
James Phillips
fcd8bb157a
Clarifies a comment about no-op peer operations.
2016-08-08 19:19:18 -07:00
James Phillips
2bf633f206
Adds back "safing" the configuration when a server leaves.
2016-08-08 19:19:18 -07:00
James Phillips
6c8e8271e2
Integrates Consul with new version of Raft library.
2016-08-08 19:19:17 -07:00
James Phillips
4a931ae12e
Adds an ACL replication status endpoint.
2016-08-04 23:30:16 -07:00
James Phillips
c94f1e1b83
Increases the ACL cache size to 10k.
2016-08-04 18:03:07 -07:00
James Phillips
3906517f70
Adds a full integrated test for ACL replication.
2016-08-04 17:59:08 -07:00
James Phillips
f639f49cc0
Adds remaining core replication tests.
2016-08-04 16:33:40 -07:00
James Phillips
defb39f8d4
Removes a TODO comment.
...
Decided we don't need to log anything about the token here. If the
token is not valid then the client will get an error about that, so
anything that can happen here is related to talking to the server in
the ACL datacenter, so not specific to the token.
2016-08-04 07:46:59 -07:00
James Phillips
93a7fd0561
Adds tests for the ACL reconcile algorithm.
2016-08-03 21:24:09 -07:00
James Phillips
796933b45b
Activates fallback to replicated ACLs.
2016-08-03 21:24:09 -07:00
James Phillips
9cece515c0
Adds basic ACL replication plumbing.
2016-08-03 21:24:04 -07:00
James Phillips
a1266e4164
Adds some supplemental tests for RPC "no leader" retries.
...
This adds some extra tests for #2175 .
2016-07-11 17:32:26 -06:00
Armon Dadgar
2d8cf9ef4a
consul: change tests to not expect ErrNoLeader
2016-07-10 13:24:18 -04:00
Armon Dadgar
5d0a977bdf
consul: Refactor forward to hold RPC when no leader is known
2016-07-10 13:24:06 -04:00
Armon Dadgar
191876f87e
consul: Add RPCHoldTimeout as tunable hold period
2016-07-10 13:23:43 -04:00
Ryan Uber
d8fd470f4f
Merge pull request #1837 from cleung2010/obfuscate-acl-token
...
Obfuscate token for lookupACL error
2016-07-05 13:56:49 -07:00
Calvin Leung Huang
38134f1b8c
Fix substring length on obfuscated token
2016-07-05 15:53:30 -04:00
Ryan Uber
577523fc73
consul: sort source node first if at position <= 10 in PQ's
2016-07-01 14:28:58 -07:00
Ryan Uber
e9960e6c85
Merge pull request #2137 from hashicorp/f-pq-near
...
Support "near" parameter in prepared query service block
2016-07-01 12:28:48 -07:00
Ryan Uber
ccbe86d7a8
consul: mention magic _agent token in struct comments
2016-07-01 11:50:30 -07:00
Ryan Uber
ebacaa2d67
consul: send agent source data as separate query source
2016-06-30 16:51:18 -07:00
Ryan Uber
782a081925
consul: use source parameter for near prepared queries
2016-06-30 12:11:20 -07:00
Ryan Uber
270270a33a
consul: send origin node + dc when executing prepared queries
2016-06-21 15:34:26 -07:00
Ryan Uber
925915c6ac
consul: test baked-in distance sort
2016-06-21 12:54:18 -07:00
Ryan Uber
114e57fff1
consul: use the Near field instead of PreferLocal
2016-06-21 12:39:40 -07:00
James Phillips
8358df599d
Merge pull request #2127 from hashicorp/b-remote-consuls-locking
...
Ensure locking of `Server`'s `remoteConsuls`.
2016-06-21 10:00:04 -07:00
James Phillips
f9e2900692
Merge pull request #2131 from hashicorp/b-misc-microoptimizations
...
Misc micro optimizations
2016-06-21 09:59:01 -07:00
Sean Chittenden
ebdb72ce0a
Ensure locking of `Server`'s `remoteConsuls`.
2016-06-20 22:59:49 -07:00
Sean Chittenden
72f7a4061c
Misc comment improvements
2016-06-20 15:29:38 -07:00
Sean Chittenden
9bf6e61655
Initialize a non-empty number of Consul Datacenters. No functional change.
2016-06-20 15:26:59 -07:00
Sean Chittenden
b78c95d37e
Prefer rand.Int31n() over rand.Int31().
2016-06-20 15:26:27 -07:00
Sean Chittenden
e81bf2a505
Fix deadlock in Consul RTT.
...
- consul/rtt.go:388: s.getDatacentersByDistance(). Acquires RLock()
- consul/rtt.go:341: sortDatacentersByDistance() RLock still held.
- consul/rtt.go:282: getDatacenterDistance() RLock still held.
- consul/rtt.go:268: getNodesForDatacenter(). Attempts to reacquire RLock(), hangs indefinitely.
2016-06-20 14:59:54 -07:00