Commit Graph

113 Commits

Author SHA1 Message Date
Armon Dadgar 7a4b532564 consul: List Keys should handle tombstones 2015-01-05 14:43:56 -08:00
Armon Dadgar b70dac1a62 consul: Ensure KVS List handles tombstones 2015-01-05 14:43:56 -08:00
Armon Dadgar e2bfaa11a2 consul: Testing leader issue of reap command 2015-01-05 14:43:56 -08:00
Armon Dadgar 91f8ff41eb consul: Testing tombstone snapshot 2015-01-05 14:43:55 -08:00
Armon Dadgar 41886c6af5 consul: Testing tombstone reaping 2015-01-05 14:43:55 -08:00
Armon Dadgar bba573dfbc consul: Test tombstone creation 2015-01-05 14:43:55 -08:00
Armon Dadgar 9152fae109 consul: First pass at tombstone reaping 2015-01-05 14:43:55 -08:00
Armon Dadgar ae69cbca7b consul: Fixing accidental commit of transaction 2015-01-05 14:43:54 -08:00
Armon Dadgar 4da4e322a3 consul: Fixing tombstone creation and hinting of GC 2015-01-05 14:43:54 -08:00
Armon Dadgar 68caf9046c consul: Create tombstones before key deletes 2015-01-05 14:43:54 -08: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