Anthony Romano
c38c00f7c3
lessor: extend leases on promote if expires will be rate limited
...
Instead of unconditionally randomizing, extend leases on promotion
if too many leases expire within the same time span. If the server
has few leases or spread out expires, there will be no extension.
2017-06-22 11:25:34 -07:00
Gyu-Ho Lee
5bba05703c
lease: randomize expiry on initial refresh call
...
Randomize the very first expiry on lease recovery
to prevent recovered leases from expiring all at
the same time.
Address https://github.com/coreos/etcd/issues/8096 .
Signed-off-by: Gyu-Ho Lee <gyuhox@gmail.com>
2017-06-15 12:57:49 -07:00
Gyu-Ho Lee
0011b78bd5
lease: rate limit revoke runLoop
...
Fix https://github.com/coreos/etcd/issues/8097 .
Signed-off-by: Gyu-Ho Lee <gyuhox@gmail.com>
2017-06-14 14:22:16 -07:00
Anthony Romano
78a5eb79b5
*: add swagger and grpc-gateway assets for v3lock and v3election
2017-04-10 15:21:07 -07:00
Anthony Romano
42d56d5ef7
lease: acquire BatchTx lock in fakeDeleter
...
Revoke expects the BatchTx lock to be held when holding the TxnDeleter
because it updates the lease bucket. The tests don't hold the lock so
it may race with the backend commit loop.
Fixes #7662
2017-04-04 20:52:23 -07:00
Anthony Romano
5e4b008106
*: base initial mmap size on quota size
2017-03-17 15:38:49 -07:00
Anthony Romano
2f1542c06d
*: use filepath.Join for files
2017-03-16 07:46:06 -07:00
Anthony Romano
f0c184b3a2
lease: support mvcc txn
2017-03-08 20:54:15 -08:00
Gyu-Ho Lee
6f0723f23f
lease: guard 'Lease.itemSet' from concurrent writes
...
Fix https://github.com/coreos/etcd/issues/7448 .
Affected if etcd builds with Go 1.8+.
Signed-off-by: Gyu-Ho Lee <gyuhox@gmail.com>
2017-03-08 11:01:42 -08:00
Gyu-Ho Lee
3d75395875
*: remove never-unused vars, minor lint fix
...
Signed-off-by: Gyu-Ho Lee <gyuhox@gmail.com>
2017-03-06 14:59:12 -08:00
sharat
9def4cb9fe
*: Use http.Request.WithContext instead of Cancel
2017-02-02 22:50:07 +05:30
Anthony Romano
b5cde6b321
lease: use atomics for accessing lease expiry
...
Demote was racing on expiry when LeaseTimeToLive called Remaining. Replace
with intrinsics since the ordering isn't important, but torn writes are
bad.
2016-12-28 15:44:14 -08:00
fanmin shi
7b7feb46fc
leasehttp: buffer error channel to prevent goroutine leak
2016-12-22 14:25:01 -08:00
fanmin shi
fef4a79528
lease: force leader to apply its pending committed index for lease operations
...
suppose a lease granting request from a follower goes through and followed by a lease look up or renewal, the leader might not apply the lease grant request locally. So the leader might not find the lease from the lease look up or renewal request which will result lease not found error. To fix this issue, we force the leader to apply its pending commited index before looking up lease.
FIX #6978
2016-12-22 14:24:38 -08:00
Anthony Romano
be1f36d97c
v3rpc, etcdserver, leasehttp: ctxize Renew with request timeout
...
Would retry a few times before returning a not primary error that
the client should never see. Instead, use proper timeouts and
then return a request timeout error on failure.
Fixes #6922
2016-12-06 14:09:57 -08:00
fanmin shi
e7f4010cca
lease: Use monotonic time in lease
...
lease uses monotimer to calculate its expiration. In this way, changing system time won't affect in lease expiration.
FIX #6700
2016-11-29 12:31:00 -08:00
Gyu-Ho Lee
b8b72f80f9
*: revendor, update proto files
2016-11-10 12:02:00 -08:00
fanmin shi
c2fd42b556
etcdserver, clientv3: add "!=" to txn
...
adding != to compare is a requested functionality from a etcd user
FIX #6719
2016-11-09 14:28:36 -08:00
Gyu-Ho Lee
c931f4d164
leasehttp: use graceful close, add tests, remove TODO
2016-11-02 16:33:26 -07:00
Nikita Vetoshkin
064e02f4b3
mvcc: Optimize updating key by storing lease in lessor
2016-10-12 09:37:09 +05:00
Gyu-Ho Lee
5adca4a720
lease, leasehttp: add TTL() method
...
Fix https://github.com/coreos/etcd/issues/6595 .
2016-10-06 11:24:09 -07:00
Xiang Li
f0469f7f25
Merge pull request #6570 from xiang90/lease_expire
...
Fix lease expire
2016-10-05 15:49:45 -07:00
Xiang Li
279c103517
lease: fix lease expire and add a test
2016-10-05 14:41:47 -07:00
Gyu-Ho Lee
9b56e51ca7
*: regenerate proto + gofmt change
2016-10-03 15:34:34 -07:00
Anthony Romano
4f9be94643
lessor: delete keys in deterministic order on revoke
...
Fixes #6558
2016-09-30 16:45:52 -07:00
Gyu-Ho Lee
4871a4a5f3
lease: remove redundant get method
2016-09-30 10:27:27 -07:00
ychen11
69f5b4ba79
Documentation:made watch request doc more clear
2016-09-23 23:13:55 +08:00
Gyu-Ho Lee
617d2d5b98
lease/*: add lease handler for 'LeaseTimeToLive'
2016-09-09 08:11:46 +09:00
Xiang Li
d69d438289
*: minor cleanup for lease
2016-08-04 20:39:32 -07:00
Xiang Li
75c06cacae
lease: do lease delection in the kv txn
2016-08-04 10:06:47 -07:00
Xiang Li
4d59b6f52c
lease: delete kvs in a txn
2016-08-04 10:06:46 -07:00
Anthony Romano
bf71497537
etcdserver, lease: tie lease min ttl to election timeout
2016-08-02 13:06:57 -07:00
Gyu-Ho Lee
982e18d80b
*: regenerate proto with latest grpc-gateway
2016-07-27 13:21:03 -07:00
Xiang Li
fffa484a9f
*: regenerate proto for adding deleterange
2016-07-23 16:17:44 -07:00
Gyu-Ho Lee
50be793f09
*: regenerate proto
2016-07-18 09:33:32 -07:00
Xiang Li
3839a55910
*: fix issue found in fast lease renew
2016-07-15 15:07:15 -07:00
Anthony Romano
ea21b8ee1f
lessor: fix go vet, goword warnings, and unreliable test
2016-06-17 13:37:25 -07:00
Xiang Li
5a7b7f7595
main: add grpc-gateway support
...
Now etcd can serve HTTP json request at /v3alpha/
2016-06-14 17:09:06 -07:00
Gyu-Ho Lee
1610391449
*: following changes for proto update
2016-06-07 13:33:03 -07:00
Anthony Romano
fc7da09d67
*: add missing godoc package descriptions
...
Fixes #4074
2016-05-27 15:15:26 -07:00
Gyu-Ho Lee
ef44f71da9
*: update LICENSE header
2016-05-12 20:51:48 -07:00
Gyu-Ho Lee
015acabdbb
*: rerun genproto -g
2016-05-02 23:02:31 -07:00
Anthony Romano
b7ac758969
*: rename storage package to mvcc
2016-04-25 15:25:51 -07:00
Gyu-Ho Lee
4b31acf0e0
*: update generated Proto
2016-04-25 14:08:33 -07:00
Gyu-Ho Lee
7a2ef3eb00
*: regenerate proto buffers
2016-04-13 16:24:07 -07:00
mqliang
1044fbce2c
etcdctlv3: update aunto generated files
2016-04-12 22:48:47 +08:00
Anthony Romano
dc17eaace7
*: rename Lease Create to Grant
...
Creating a lease through the client API interface union looked like
"c.Create(...)"-- the method name wasn't very descriptive.
2016-04-07 12:28:14 -07:00
Anthony Romano
bd832e5b0a
*: migrate Godeps to vendor/
2016-03-22 17:10:28 -07:00
Xiang Li
e9a0a103e5
*: refresh the lease TTL correctly when a leader is elected.
...
The new leader needs to refresh with an extened TTL to gracefully handle
the potential concurrent leader issue. Clients might still send keep alive
to old leader until the old leader itself gives up leadership at most after
an election timeout.
2016-03-15 22:40:03 -07:00
Xiang Li
adcba975cb
*: recover lessor when applying snapshot
2016-03-10 17:06:58 -08:00