Commit Graph

3465 Commits

Author SHA1 Message Date
Sean Chittenden 53091c2b8b Add a note re: GH-1667 and redistributing client RPC requests 2016-02-02 11:38:00 -08:00
sean- 8f30dea420 Merge pull request #1667 from hashicorp/b-redistribute-clients
Continually redistribute client RPC connections
2016-02-02 11:15:19 -08:00
Sean Chittenden 1c9d74a337 Remove unnecessary check, test was moved further up in scope 2016-02-02 11:13:58 -08:00
Sean Chittenden ae53e0b2a1 Merge branch 'master' of ssh://github.com/hashicorp/consul into b-redistribute-clients 2016-02-01 23:15:45 -08:00
Sean Chittenden be205b8ed0 Chase case change in the function name now that GenerateUUID is an
exported function.
2016-02-01 23:15:19 -08:00
Sean Chittenden 088e3ee26b Cull unused function and its unit test.
Pointed out by: @slackpad
2016-02-01 23:15:19 -08:00
Sean Chittenden 1b551456bd Cull unused function and its unit test.
Pointed out by: @slackpad
2016-02-01 23:15:19 -08:00
Sean Chittenden 1005b91c87 Use panic instead of returning a sentinel UUID values in unit tests 2016-02-01 23:15:19 -08:00
sean- eb27a02956 Merge pull request #1666 from hashicorp/f-consul-lib
Refactor various utility functions into a consul/lib package
2016-02-01 23:08:52 -08:00
Sean Chittenden 8cb5b4dbeb Chase case change in the function name now that GenerateUUID is an
exported function.
2016-02-01 22:48:59 -08:00
Sean Chittenden 81e1e1c05d Cull unused function and its unit test.
Pointed out by: @slackpad
2016-02-01 22:40:19 -08:00
Sean Chittenden 6c1bb78d06 Cull unused function and its unit test.
Pointed out by: @slackpad
2016-02-01 22:26:57 -08:00
Sean Chittenden 8deec17f73 Use panic instead of returning a sentinel UUID values in unit tests 2016-02-01 16:42:04 -08:00
Sean Chittenden c7e58734ed 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 0c83b1b692 Use rand.Int31n() vs unconditionally using modulus 2016-01-30 15:47:58 -08:00
Sean Chittenden 7fb0045bbe 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 c4f7b4a13e 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 b391b075bd 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 4382c1f7aa 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 7af6a94edb 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 43a4f3fe02 Option to disable hostnames from telemetry 2016-01-29 13:44:48 -08:00
Ryan Breen 3215b8727f Merge pull request #1662 from rajanadar/patch-1
fixing small typo in json
2016-01-29 08:32:57 -05:00
Raja Nadar cd17cdc03d fixing small typo in json 2016-01-29 01:25:23 -08:00
Ryan Slade dd98602bd7 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 62e2e89c46 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 f444121b13 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 a2d014a246 Merge pull request #1657 from jrw972/patch-1
Update services.html.markdown
2016-01-27 15:13:43 -05:00
Justin Wilson 1eb780f1b5 Update services.html.markdown 2016-01-27 14:06:38 -06:00
Seth Vargo 40707934d2 Add structured data 2016-01-24 13:27:30 -05:00
James Phillips 35adb391a2 Merge pull request #1641 from brentrojas/patch-1
Update hashicorp-ecosystem.html.markdown
2016-01-22 15:15:53 -08:00
Brent Rojas 784f3b1960 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 dc9b9168d1 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 c353aa9260 Catches up the change log. 2016-01-20 16:59:46 -08:00
James Phillips bfb1b7da99 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 01da5a2248 Prevents watches from being orphaned when KVS blocking queries loop. 2016-01-20 07:18:47 -08:00
James Phillips e7f4bd8a39 Merge pull request #1631 from Cinderhaze/master
Correcting count of checks
2016-01-19 19:56:58 -08:00
Daryl b2f8ef9f32 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 b6f03d39cc 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 f24a044755 Fixes the static asset generator for new pkg path, updates assets. 2016-01-15 10:21:42 -08:00
James Phillips 8683896465 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 86bc93faff Fixes the years in the change log. 2016-01-15 08:17:42 -08:00
James Phillips c75cd7a8ff 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 cc00786580 Changes readme Go version to 1.5.3. 2016-01-14 19:55:57 -08:00
James Phillips 8a9883e48e 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 84594c36dd Bumps website version to 0.6.3. 2016-01-14 19:54:55 -08:00
James Phillips 94d3f881fe 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 e0b6725ef5 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 5f54bd4418 Puts tree in state ready for work on Consul 0.7. 2016-01-14 16:03:08 -08:00
Kevin Simper 72353c5ad3 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 c933efde50
Release v0.6.3 2016-01-14 10:28:49 -08:00