Commit graph

3553 commits

Author SHA1 Message Date
Sean Chittenden 5ac7b893cc Use panic instead of returning a sentinel UUID values in unit tests 2016-02-01 16:42:04 -08:00
Sean Chittenden ef8bbca48f Continually rebalance client connections
Introduce a low-level background connection expiration mechanism wherein connections will be recycled periodically based on the size and health of the cluster.

For the vast majority of consul users, this will mean an average connection age of 150s.  For 10K node clusters it will take ~3min for clusters to rebalance their connections.  In the pathological case for a 100K cluster where 99K clients are in the minority talking to 1x server it will take ~26min to rebalance all connections.

It's possibe for clients recovering from a parititon to become fixated on a single server until the server or agent is restarted.  This is of particular interest to long-running environments with stable agents, where `allow_stale` is true, and partitions occur periodically.
2016-01-30 17:13:50 -08:00
Sean Chittenden 8a37e76cb0 Use rand.Int31n() vs unconditionally using modulus 2016-01-30 15:47:58 -08:00
Sean Chittenden 727bb42b1d Merge branch 'f-consul-lib' of ssh://github.com/hashicorp/consul into b-redistribute-clients 2016-01-30 15:40:54 -08:00
Sean Chittenden b216d4c11f Rename clientRPCCache to clientRPCConnMaxIdle, change value
Increase the max idle time for agents talking to servers from 30s to 127s in order to allow for the reuse of connections that are being initiated by cron.

127s was chosen as the first prime above 120s (arbitrarily chose to use a prime) with the intent of reusing connections who are used by once-a-minute cron(8) jobs *and* who use a 60s jitter window (e.g. in vixie cron job execution can drift by up to 59s per job, or 119s for a once-a-minute cron job).
2016-01-30 15:27:46 -08:00
Sean Chittenden e83a5b7a70 Reuse the results from gettimeofday(2)...
Inside of a single RPC call, reuse time.Now().
2016-01-30 14:39:17 -08:00
Sean Chittenden 893f91b0d5 Always seed math/rand on consul startup
Required for jitter calcs.  This could be done in consul/agent, but this makes it clear it is done only once process-wide.
2016-01-29 17:00:08 -08:00
Sean Chittenden c470553b6b Factor out duplicate functions into a lib package
Consolidate code duplication and tests into a single lib package.  Most of these functions were from various **/util.go functions that couldn't be imported due to cyclic imports.  The consul/lib package is intended to be a terminal node in an import DAG and a place to stash various consul-only helper functions.  Pulled in hashicorp/go-uuid instead of consolidating UUID access.
2016-01-29 16:57:45 -08:00
Nate Brown 541a98c9c7 Option to disable hostnames from telemetry 2016-01-29 13:44:48 -08:00
Ryan Breen d043c692f0 Merge pull request #1662 from rajanadar/patch-1
fixing small typo in json
2016-01-29 08:32:57 -05:00
Raja Nadar aa45c07f28 fixing small typo in json 2016-01-29 01:25:23 -08:00
Ryan Slade 37c7a0e006 Updated invalid check error message.
Added some of the newer reasons this error could have occured.
2016-01-28 11:02:00 +02:00
James Phillips fdc8035ddd Merge pull request #1651 from jk563/consul-intro-not-terraform
Edit intro to present Consul instead of Terraform.
2016-01-27 13:23:00 -08:00
Jamie Kelly 08eefe7c31 Edit intro to present Consul instead of Terraform.
As this is Consul, not Terraform, it makes sense to use Consul in this intro instead of Terraform.
2016-01-27 20:44:10 +00:00
Ryan Breen 0fcafa616e Merge pull request #1657 from jrw972/patch-1
Update services.html.markdown
2016-01-27 15:13:43 -05:00
Justin Wilson 423725feea Update services.html.markdown 2016-01-27 14:06:38 -06:00
Seth Vargo b7c502c15a Add structured data 2016-01-24 13:27:30 -05:00
James Phillips 823971ce78 Merge pull request #1641 from brentrojas/patch-1
Update hashicorp-ecosystem.html.markdown
2016-01-22 15:15:53 -08:00
Brent Rojas e94a92902a Update hashicorp-ecosystem.html.markdown
Remove slash from link to blog, which was causing 404 error.
2016-01-22 15:09:12 -08:00
Jay Looney 2e5027cdca Fix #1488
gox doesn't get copied anywhere that might be in the users $PATH by default, however if someone has a functional Go setup they are required to have a $GOPATH variable which will contain their Go workspace and executables of all built go programs under $GOPATH/bin
There are certainly many solutions to this but after reading the Go documentation this seemed to me like it would be the quickest and most cross-platform.
2016-01-21 04:55:12 -06:00
James Phillips 4770277cdc Catches up the change log. 2016-01-20 16:59:46 -08:00
James Phillips 540f92af1c Merge pull request #1632 from hashicorp/b-orphaned-watches
Prevents watches from being orphaned when KVS blocking queries loop.
2016-01-20 16:39:48 -08:00
James Phillips 0010b788ed Prevents watches from being orphaned when KVS blocking queries loop. 2016-01-20 07:18:47 -08:00
James Phillips 76def9bef4 Merge pull request #1631 from Cinderhaze/master
Correcting count of checks
2016-01-19 19:56:58 -08:00
Daryl c4860cad7d Correcting count of checks
I saw there were 5 checks listed - script, tcp, http, ttl, docker.
2016-01-19 22:50:27 -05:00
James Phillips 10da26311a Merge pull request #1619 from hashicorp/b-internal-ui
Fixes the static asset generator for new pkg path, updates assets.
2016-01-15 10:26:49 -08:00
James Phillips 0fcdd37107 Fixes the static asset generator for new pkg path, updates assets. 2016-01-15 10:21:42 -08:00
James Phillips 669331b3bd Merge pull request #1617 from hashicorp/slackpad-patch-1
Fixes the years in the change log.
2016-01-15 08:17:54 -08:00
James Phillips e15fb5d0ac Fixes the years in the change log. 2016-01-15 08:17:42 -08:00
James Phillips 349b93a069 Merge pull request #1613 from hashicorp/slackpad-patch-1
Changes readme Go version to 1.5.3.
2016-01-14 19:56:09 -08:00
James Phillips 0e1aef7f9a Changes readme Go version to 1.5.3. 2016-01-14 19:55:57 -08:00
James Phillips cbe84fbaf0 Merge pull request #1612 from hashicorp/slackpad-patch-1
Bumps website version to 0.6.3.
2016-01-14 19:55:02 -08:00
James Phillips 13d25e33a1 Bumps website version to 0.6.3. 2016-01-14 19:54:55 -08:00
James Phillips e0ae4878f6 Merge pull request #948 from hashicorp/iface-down-fix
Don't try to bind on address from inactive interface
2016-01-14 17:00:54 -08:00
James Phillips 72431817da Merge pull request #1611 from hashicorp/f-next-version
Puts tree in state ready for work on Consul 0.7.
2016-01-14 16:07:38 -08:00
James Phillips d055dd56fa Puts tree in state ready for work on Consul 0.7. 2016-01-14 16:03:08 -08:00
Kevin Simper 759e535f54 Updating dns forwarding
It is not really clear that you only have to do one of the following and not all three.
2016-01-14 22:53:14 +01:00
James Phillips 3366c8127e
Release v0.6.3 2016-01-14 10:28:49 -08:00
James Phillips acd914a372 Merge pull request #1608 from hashicorp/f-deps
Adds deps for the 0.6.3 release.
2016-01-14 10:25:31 -08:00
James Phillips 8f9c0e19a0 Adds deps for the 0.6.3 release. 2016-01-14 10:24:54 -08:00
James Phillips 1b48883d86 Merge pull request #1607 from hashicorp/slackpad-patch-1
Preps the change log for the 0.6.3 release.
2016-01-14 10:24:19 -08:00
James Phillips 535665c42d Preps the change log for the 0.6.3 release. 2016-01-14 10:23:54 -08:00
James Phillips 5797719b5d Merge pull request #1606 from hashicorp/f-vbox
Bumps up vbox resources for better unit test performance.
2016-01-14 10:16:42 -08:00
James Phillips f7b4f61b41 Bumps up vbox resources for better unit test performance. 2016-01-14 10:15:48 -08:00
James Phillips a6545649cf Merge pull request #1598 from Cbeck527/master
Update consul version for vagrant demo
2016-01-13 19:26:05 -08:00
Seth Vargo 0fc4ffd820 Remove old heroku stuff 2016-01-13 21:54:26 -05:00
James Phillips f572bb659e Merge pull request #1603 from hashicorp/f-post-release-picks
Post 0.6.2 release picks
2016-01-13 18:41:29 -08:00
James Phillips e5f57c1e44 Bumps version up to 0.6.3. 2016-01-13 18:39:49 -08:00
James Phillips f2d63baaf8 Adds deps for v0.6.2. 2016-01-13 18:39:20 -08:00
James Phillips c45fa6d31a Merges the 0.6.2 change log with master. 2016-01-13 18:38:42 -08:00