Commit graph

104 commits

Author SHA1 Message Date
Daniel Malon e56b3861dc advertise specific address for a service
Enable setting a specific address in a service definition for advertise. If no specific address is given it will fallback to the node address and reassemble the old behaviour.
2015-01-02 21:10:05 +00:00
Armon Dadgar d8c65aabee consul: Minor cleanup 2014-12-12 22:17:41 -08:00
Armon Dadgar 9b897d1134 consul: Ignore zero ttl on session 2014-12-12 19:17:04 -08:00
Armon Dadgar 990ad02f83 consul: Minor cleanups 2014-12-12 15:43:34 -08:00
Atin Malaviya 2de09dc2e7 Took out StateSnapshot SessionListTTL also 2014-12-10 20:53:05 -05:00
Atin Malaviya 8369b77204 Clean up code based on feedback from armon 2014-12-10 20:49:06 -05:00
Atin Malaviya c992c18ef0 Added more tests. Also added return of 404 if the session id to renew is not found 2014-12-10 10:02:23 -05:00
Atin Malaviya b623af776b Consul Session TTLs
The design of the session TTLs is based on the Google Chubby approach
(http://research.google.com/archive/chubby-osdi06.pdf). The Session
struct has an additional TTL field now. This attaches an implicit
heartbeat based failure detector. Tracking of heartbeats is done by
the current leader and not persisted via the Raft log. The implication
of this is during a leader failover, we do not retain the last
heartbeat times.

Similar to Chubby, the TTL represents a lower-bound. Consul promises
not to terminate a session before the TTL has expired, but is allowed
to extend the expiration past it. This enables us to reset the TTL on
a leader failover. The TTL is also extended when the client does a
heartbeat. Like Chubby, this means a TTL is extended on creation,
heartbeat or failover.

Additionally, because we must account for time requests are in transit
and the relative rates of clocks on the clients and servers, Consul
will take the conservative approach of internally multiplying the TTL
by 2x. This helps to compensate for network latency and clock skew
without violating the contract.

Reference: https://docs.google.com/document/d/1Y5-pahLkUaA7Kz4SBU_mehKiyt9yaaUGcBTMZR7lToY/edit?usp=sharing
2014-12-07 12:38:22 -05:00
Atin Malaviya d7e09d57ba Set empty Behavior setting into SessionKeysRelease and flag error for unrecognized values 2014-11-20 19:16:07 -05:00
Atin Malaviya 3aabda02b3 Clean up tests, use switch to default session.Behavior value if unspecified, unrecognized 2014-11-20 14:29:18 -05:00
Atin Malaviya aa0cecd04e Ephemeral Nodes for via Session behavior settings.
Added a "delete" behavior for session invalidation, in addition to
the default "release" behavior. On session invalidation, the sessions
Behavior field is checked and if it is set to "delete", all nodes owned
by the session are deleted. If it is "release", then just the locks
are released as default.
2014-11-20 11:34:45 -05:00
Armon Dadgar bd1e03428c consul: Increase maximum number of parallel readers 2014-11-18 18:46:43 -08:00
Armon Dadgar 0540605110 consul: Fixing key list index calculation 2014-11-12 17:55:45 -08:00
Armon Dadgar a1d2f9a3da Merge pull request #401 from hashicorp/f-healthcheck
Default services to "critical" state instead of "unknown"
2014-10-15 16:50:38 -07:00
Armon Dadgar 0d1559764d consul: Allow providing a path for the state store 2014-10-15 14:55:04 -07:00
Armon Dadgar 88b53702f1 consul: Reduce mmap size on 32bit 2014-10-15 11:32:40 -07:00
Ryan Uber ec63686416 consul: kill remaining use of HealthUnknown 2014-10-15 10:14:46 -07:00
Armon Dadgar 8afbab60cb consul: Log why invalidation happened. Fixes #390 2014-10-14 10:54:57 -07:00
Armon Dadgar 1177a9bf11 consul: Fix non-deterministic ACL IDs 2014-10-09 12:23:32 -07:00
Armon Dadgar a80478594a consul: Fix non-deterministic session IDs 2014-10-09 11:54:47 -07:00
Armon Dadgar 597cd12e97 consul: Ensure node/service/check registration is in a single txn 2014-08-22 12:38:33 -07:00
Armon Dadgar a078e4d6f4 consul: Refactor txn handling in state store 2014-08-22 12:27:12 -07:00
Armon Dadgar 5da5df716d consul: Create anonymous and master tokens 2014-08-18 15:46:22 -07:00
Armon Dadgar b41e36868e consul: register the ACL queries 2014-08-18 15:46:21 -07:00
Armon Dadgar 101d7da90a consul: Adding ACLs to the state store 2014-08-18 15:46:21 -07:00
William Tisäter 90816cca98 Run go fmt 2014-07-24 01:09:55 +02:00
William Tisäter 78a69b61a3 Don't override ServiceTags 2014-07-23 23:42:22 +02:00
William Tisäter 9dc67edf7f Make service tag filter case-insensitive 2014-07-23 23:42:22 +02:00
William Tisäter 2727c158a6 Make service index case-insensitive 2014-07-23 23:42:22 +02:00
William Tisäter f7263e8e7a Add case-insensitive flag to MDBIndex 2014-07-23 23:42:21 +02:00
Armon Dadgar d42474a7cb Support wildcard for check lookup. Fixes #152 2014-05-21 12:45:12 -07:00
Armon Dadgar 3b0d3b76c2 consul: Adding support for lock-delay in sessions 2014-05-20 16:25:29 -07:00
Armon Dadgar 8baa83a668 consul: Adding SessionList to snapshot 2014-05-20 16:25:28 -07:00
Armon Dadgar 994a149965 consul: Session invalidation releases locks 2014-05-20 16:25:28 -07:00
Armon Dadgar cd7e3967be consul: Support KVSLock and KVSUnlock 2014-05-20 16:25:28 -07:00
Armon Dadgar 35996042ae consul: Switch notify to using txn defer 2014-05-20 16:25:28 -07:00
Armon Dadgar 679e4e6e70 consul: Adding session invalidation 2014-05-20 16:25:28 -07:00
Armon Dadgar f7edd7763b consul: Adding SessionDestroy 2014-05-20 16:25:28 -07:00
Armon Dadgar 0491e58fb9 consul: Adding session lookup methods 2014-05-20 16:25:27 -07:00
Armon Dadgar 7c38c1ca85 consul: Adding SessionCreate and SessionRestore 2014-05-20 16:25:27 -07:00
Armon Dadgar a5c60eb556 consul: Adding new session tables 2014-05-20 16:25:27 -07:00
Andrew M Bursavich 1dd3dfe801 use empty slice instead of nil slice when no tags exist for service 2014-05-13 00:18:36 -07:00
Armon Dadgar 8b487ce103 consul: Support listkeys without seperator 2014-04-30 23:44:27 -04:00
Armon Dadgar a631821f6c consul: Adding a key listing mechanism 2014-04-30 23:44:27 -04:00
Armon Dadgar 702fe3afda consul: Adding Misc RPC endpoint 2014-04-30 23:43:58 -04:00
Armon Dadgar 75f9a126ae consul: Adding methods to dump node info 2014-04-30 23:43:58 -04:00
Armon Dadgar c1ae3d78ef consul: Increase DB size on 64bit systems. Fixes #81. 2014-04-28 17:07:59 -07:00
Armon Dadgar b9c2b178f0 consul: Change state store to support multiple tags 2014-04-03 12:03:02 -07:00
Armon Dadgar a312d7e6ff consul: Avoid loading all KV pairs during a snapshot 2014-04-01 11:55:25 -07:00
Armon Dadgar 20a9cbc6d1 consul: More efficient restore of KVS entriesg 2014-04-01 11:29:55 -07:00