a3b7876a3c
clientv3: use retryConnection
2016-01-27 22:31:15 -08:00
14255854d8
Merge pull request #4298 from heyitsanthony/fix-testapplysnapshot-race
...
etcdserver/test: synchronously wait on TestApplySnapshotAndCommittedE…
2016-01-26 21:18:09 -08:00
64596f0c49
etcdserver/test: synchronously wait on TestApplySnapshotAndCommittedEntries
...
Replaces the RecorderBuffered with a RecorderStream so Wait will block
waiting for updates to the etcdserver store.
Fixes #4296
2016-01-26 21:03:03 -08:00
36cc8446c7
*: finish member api implementation
2016-01-26 18:09:14 -08:00
ad15bdcb07
etcdserver: update gRPC, proto interface
2016-01-26 17:41:19 -08:00
4c024b305f
Merge pull request #4290 from heyitsanthony/fix-apply-noents
...
etcdserver: don't try to apply empty message list
2016-01-26 14:11:54 -08:00
bd02d668c8
etcdserver: don't try to apply empty message list
...
If all messages have been applied, don't apply an empty messages list;
otherwise appliedi will update to 0 and etcd will panic.
Fixes #4278
2016-01-26 11:56:37 -08:00
179a8f9768
Merge pull request #4289 from xiang90/member_api
...
etcdserver: initial member api proto
2016-01-26 10:16:44 -08:00
864fc197c1
etcdserver: initial member api proto
2016-01-26 09:56:50 -08:00
59c6735c3c
Merge pull request #4282 from xiang90/range_invalid
...
etcdserver: check invalid range in txn
2016-01-25 22:23:55 -08:00
dd1bbaa293
Merge pull request #4281 from mitake/remove-cached-auth-flag
...
etcdserver, auth: not cache a flag of auth status
2016-01-25 21:55:44 -08:00
a56387bc3e
Merge pull request #4284 from xiang90/max_txn
...
v3rpc: check max ops in txn
2016-01-25 21:16:01 -08:00
c8bf77c722
v3rpc: check max ops in txn
2016-01-25 21:04:19 -08:00
128b5e7387
etcdserver: check invalid range in txn
2016-01-25 20:21:17 -08:00
12f6b8e72d
etcdserver: complete stopWithDelay on server shutdown
...
Was causing goroutine leaks on my machine.
2016-01-25 19:45:29 -08:00
b2d2c79a2f
etcdserver, auth: not cache a flag of auth status
...
This commit removes a flag that indicates auth is enabled or disabled
because it doesn't have an invalidation mechanism.
Fixes https://github.com/coreos/etcd/issues/3601 and https://github.com/coreos/etcd/issues/3964
2016-01-26 11:46:25 +09:00
ef6320e638
etcdserver: make cluster checking interval shorter
2016-01-25 08:16:05 +08:00
1aa312fcce
*: lease forwarding should resue transport
2016-01-25 06:56:07 +08:00
5e2dbadbc0
leasehttp: move lease/http.go to its own pkg
2016-01-25 06:09:54 +08:00
9572197aee
etcdserver: return error when putting a key with a bad lease id
2016-01-22 20:47:31 -08:00
2e157530a0
etcdhttp, lease, v3api: forward keepalives to leader
...
keepalives don't go through raft so let follower peers announce
keepalives to the leader through the peer http handler
2016-01-22 12:40:40 -08:00
9113a27bde
lease: grant consistent lease IDs
...
When raft broadcasts a Grant to all nodes, all nodes must
agree on the same lease ID. Otherwise, attaching a key to
a lease will fail since the lease ID is node-dependent.
2016-01-22 09:43:39 -08:00
ccfd68a251
etcdserver: support Revision option in v3 RangeRequest
2016-01-17 21:45:22 -08:00
8df3f0c545
etcdserver: support 'More' flag for v3 RangeRequest
2016-01-17 21:45:22 -08:00
b6077f9d57
*: fix minor typos
2016-01-14 01:28:29 -08:00
588f655b4e
etcdmain: add an option for pprof
...
This commit adds a new option for activating profiling based on pprof
in etcd process.
- -enable-pprof: boolean type option which activates profiling
For example, if a client URL is http://localhost:12379 , users and
developers access heap profiler with this URL:
http://localhost:12379/debug/pprof/heap
2016-01-13 16:12:26 +09:00
efa9cd7e0c
Merge pull request #4184 from heyitsanthony/v3-rangereq-sort
...
etcdserver: support sorted range requests in v3 api
2016-01-12 10:26:52 -08:00
82eeffbd58
etcdserver: support sorted range requests in v3 api
...
Fixes #4166
2016-01-12 10:08:30 -08:00
6b1d9fb7ce
*: stop lessor when etcdserver is stopped
2016-01-12 10:06:11 -08:00
59bf83c7f4
*: now lease keepAlive works on leader
2016-01-09 22:12:02 -08:00
f5753f2f51
*: support lease Attach
...
Now we can attach keys to leases. And revoking the lease removes all
the attached keys of that lease.
2016-01-09 11:01:58 -08:00
2566699a48
*: revoke expired leases
2016-01-08 13:37:58 -08:00
7de0e9130c
Merge pull request #4167 from xiang90/lease_promote
...
*: expose Lessor Promote and Demote interface
2016-01-08 10:38:08 -08:00
f76166a041
*: fix minor typos
2016-01-08 00:21:19 -08:00
f5fa9b5384
*: expose Lessor Promote and Demote interface
2016-01-07 18:18:20 -08:00
99bee2fd29
Merge pull request #4162 from xiang90/lease
...
*: add support for lease create and revoke
2016-01-07 16:58:59 -08:00
d9ca929a33
*: add support for lease create and revoke
...
Basic support for lease operations like create and revoke.
We still need to:
1. attach keys to leases in KV implmentation if lease field is set
2. leader periodically removes expired leases
3. leader serves keepAlive requests and follower forwards keepAlive
requests to leader.
2016-01-07 16:39:39 -08:00
5842177172
etcdserver/api/v3rpc: fill in KV ResponseHeader
2016-01-07 12:18:31 -08:00
43a777b7a2
*: get snapshot from backend
...
We should get snapshot from backend, not just KV.
We plan to store the lease data into backend too.
2016-01-06 22:40:23 -08:00
1714290f4e
storage: support recovering from backend
...
We want the KV to support recovering from backend to avoid
additional pointer swap. Or we have to do coordination between
etcdserver and API layer, since API layer might have access to
kv pointer and use a closed kv.
2016-01-06 21:16:55 -08:00
366e7a879f
*: fill in WatchResponse.Header
...
Related to coreos#3848.
2016-01-06 15:12:53 -08:00
5dd3f91903
*: make backend outside kv
...
KV and lease will share the same backend. Thus we need to make
backend outside KV.
2016-01-05 19:55:29 -08:00
1e61243fd7
Merge pull request #4134 from xiang90/lease
...
lease: modify API and persist lease to disk
2016-01-05 10:30:52 -08:00
09b420f08c
*: move leaseID typedef to lease pkg
2016-01-05 10:18:17 -08:00
838328b057
etcdserver: fix racey WaitSchedule() tests to wait for recorder actions
...
Fixes #4119
2016-01-05 09:39:18 -08:00
384cc76299
pkg/testutil: make Recorder an interface
...
Provides two implementations of Recorder-- one that is non-blocking
like the original version and one that provides a blocking channel
to avoid busy waiting or racing in tests when no other synchronization
is available.
2016-01-05 09:39:18 -08:00
e1bf726bc1
*: split out etcdserver's test mockup objects to live in interfaces' packages
2016-01-05 09:39:13 -08:00
21a6ade53d
storage: change type of WatchIDs from int64 to WatchID
2016-01-04 19:52:22 -08:00
556d4a6932
*: remove CancelFunc return for Watch. Use Cancel for watch.
2016-01-04 16:17:55 -08:00
4336278b44
*: support put with lease
2016-01-04 15:54:06 -08:00