Armon Dadgar
7a63f822a3
consul: First pass to reduce KV watch cost
2015-01-05 16:18:27 -08:00
Armon Dadgar
8eaee53661
consul: Adding more useful metrics
2015-01-05 15:13:39 -08:00
Armon Dadgar
5ad16ca00f
consul: Fixing the KVS tests
2015-01-05 15:06:53 -08:00
Armon Dadgar
200b348f69
consul: Disable tombstones as follower
2015-01-05 14:58:59 -08:00
Armon Dadgar
4f6f5ae6f0
consul: Improve log message
2015-01-05 14:43:56 -08:00
Armon Dadgar
bf40a2ac1f
consul: Reverting some index compute logic
2015-01-05 14:43:56 -08:00
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
a350ec9379
consul: Mesure time for reapTombstones
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
b1fefa6d90
consul: Test FSM Reap operations
2015-01-05 14:43:56 -08:00
Armon Dadgar
7736e701ca
consul: Test FSM restore of tombstones
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
f9d322f346
consul: Persist tombstones
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
0c9cbdb3d1
consul: TombstoneReapRequestType -> TombstoneRequestType
2015-01-05 14:43:55 -08:00
Armon Dadgar
8681d913ba
consul: Generate a raft operation to reap tombstones
2015-01-05 14:43:55 -08:00
Armon Dadgar
02e984e4c4
consul: Adding new request to reap tombstones
2015-01-05 14:43:55 -08:00
Armon Dadgar
9f30ffbf9a
consul: Leader should reset the tombstone GC clock
2015-01-05 14:43:55 -08:00
Armon Dadgar
fb8f7fd929
consul: Adding PendingExpiration
2015-01-05 14:43:55 -08:00
Armon Dadgar
71c2c1468d
consul: Thread Tombstone GC through
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
1a9431847b
consul: Adding GetTxnLimit to MDBTable
2015-01-05 14:43:54 -08:00
Armon Dadgar
2724061351
consul: Support reset of tombstone GC
2015-01-05 14:43:54 -08:00
Armon Dadgar
4430f4592d
consul: Adding TombstoneGC to track TTLs
2015-01-05 14:43:54 -08:00
Armon Dadgar
3e2bd0db2c
consul: Rename TombstoneGC to TombstoneTTL
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
d5369098ba
consul: Adding TombstoneGC config
2015-01-05 14:43:54 -08:00
Armon Dadgar
6b9ace19cf
consul: Collect useful session metrics
2015-01-02 22:46:51 +05:30
Armon Dadgar
d8c65aabee
consul: Minor cleanup
2014-12-12 22:17:41 -08:00
Armon Dadgar
c0d3798154
consul: Test Session.Apply updates session timers
2014-12-12 21:54:29 -08:00
Armon Dadgar
4d0903f781
consul: Adding more tests for session TTLs
2014-12-12 21:42:59 -08:00
Armon Dadgar
5b6ce2ca4a
consul: Setup ACLs and timers after initial barrier
2014-12-12 21:42:24 -08:00
Armon Dadgar
f25566931f
consul: Make sessionTimersLock a plain mutex
2014-12-12 19:17:35 -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
Armon Dadgar
8dbfe7c9a8
Merge pull request #524 from amalaviy/session_ttl
...
Consul Session TTLs
2014-12-12 14:42:25 -08:00
Atin Malaviya
073020f6be
Add invalidateSession test
2014-12-11 06:09:53 -05:00
Atin Malaviya
5a76929ba4
Fixed clearSessionTimer, created invalidateSession, added invalid TTL test
2014-12-11 05:34:31 -05:00
Atin Malaviya
7ece29c3e0
Took out usage of snapshot SessionListTTL
2014-12-10 21:37:06 -05: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
a1afc07f54
Added more tests
2014-12-10 16:43:15 -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
Ali Abbas
a542df954f
cleanup and simplify
2014-12-06 13:08:35 +01:00
Ali Abbas
40979b1159
* use defer to avoid tracking lock
...
* simplify control flow
2014-12-06 12:32:18 +01:00