fanmin shi
690a0b6f00
etcdserver: parallelize expired leases process
...
When 1000 leases expired at the same time, etcd takes more than 5 seconds to clean them. This means that even after the leases have expired, keys associated with leases are still accessible. I increase the deletion throughput by parallelizing leases deletion process.
2016-09-19 16:17:49 -07:00
Anthony Romano
3866e78c26
etcdserver: tighten up goroutine management
...
All outstanding goroutines now go into the etcdserver waitgroup. goroutines are
shutdown with a "stopping" channel which is closed when the run() goroutine
shutsdown. The done channel will only close once the waitgroup is totally cleared.
2016-09-19 12:10:41 -07:00
Xiang Li
c6feb695dc
api: update capability map
2016-09-16 14:34:55 +08:00
Xiang Li
b3a083d336
Merge pull request #6436 from LiamHaworth/bugfix/6433-support-for-charset-in-content-type-header
...
etcdserver, api, v2http, client: Added support for semicolons
2016-09-14 23:25:31 -05:00
Liam Haworth
5cfa9e2384
etcdserver, api, v2http, client: Added support for semicolons
...
Added support into the v2 API to fix an issue (6433) where if there is a semicolon
and fields after it the API would return an "invalid Content-type" message even
if the content type was actually correct
2016-09-15 13:54:22 +10:00
Anthony Romano
c0981a90f7
etcdserver, etcdserverpb: range min_create_revision and max_create_revision
2016-09-14 15:31:45 -07:00
Anthony Romano
af0264d2e6
etcdserver, etcdserverpb: add MinModRevision and MaxModRevision options to Range
2016-09-12 15:17:57 -07:00
Gyu-Ho Lee
63b0cd470d
etcdserver: implement 'LeaseTimeToLive'
2016-09-09 08:14:14 +09:00
Gyu-Ho Lee
0712ebc9b5
v2http: handle '/leases/internal'
2016-09-09 08:12:31 +09:00
Gyu-Ho Lee
3132e36bf3
etcdserverpb: add 'LeaseTimeToLive' RPC
2016-09-09 08:08:14 +09:00
Anthony Romano
1defeda792
v3api, rpctypes: add ErrUnhealthy
2016-09-07 16:51:49 -07:00
Gyu-Ho Lee
48941cea95
Merge pull request #6308 from gyuho/manual2
...
client: do not send previous node data (optional)
2016-08-30 13:33:22 -07:00
Xiang Li
771ee43169
etcdserver: allow zero kv index for cluster upgrade
...
If a user upgrades etcd from 2.3.x to 3.0 and shutdown the
cluster immediately without triggering any new backend writes,
then the consistent index in backend would be zero.
The user cannot restart etcdserver due to today's strick index
match checking. We now have to lose this a bit for this case.
2016-08-30 11:28:18 -07:00
Gyu-Ho Lee
2da7b63809
v2http: change to 'NoValueOnSuccess'
2016-08-30 10:53:02 -07:00
Gyu-Ho Lee
572bfd99ff
v2http: update function returns
2016-08-30 10:29:37 -07:00
Michael Fraenkel
82053f04b2
client: do not send previous node data (optional)
...
- Do not send back node data when specified
- remove node and prevNode when noDataOnSuccess is set
2016-08-30 10:04:09 -07:00
Anthony Romano
64ac631863
rpctypes: set unknown codes to Unknown instead of internal
...
An unrecognized error code isn't "very broken".
2016-08-28 19:37:35 -07:00
Anthony Romano
c388b2f22f
Merge pull request #6264 from heyitsanthony/error-codes
...
clientv3: use grpc codes to translate raw grpc errors
2016-08-26 11:52:37 -07:00
Anthony Romano
df54ad2208
v3rpc, rpctypes: add error types for timeouts
2016-08-26 09:22:09 -07:00
Anthony Romano
254c0ea814
etcdserver: use request timeout defined by ServerConfig for v3 requests
2016-08-25 18:39:01 -07:00
Xiang Li
7f3d4bfae5
etcdserver: kv.commit needs to be serialized with apply
...
kv.commit updates the consistent index in backend. When
executing in parallel with apply, it might grab tx lock
after apply update the consistent index and before apply
starts to execute the opeartion. If the server dies right
after kv.commit, the consistent is updated but the opeartion
is not executed. If we restart etcd server, etcd will skip
the operation. :(
There are a few other places that we need to take care of,
but let us fix this first.
2016-08-23 09:16:09 -07:00
Xiang Li
83de13e4a8
etcdserver: support apply wait
2016-08-19 16:18:35 -07:00
Xiang Li
d0fa390048
etcdserver: improve logging for leadership transfer
2016-08-17 11:40:46 -07:00
Gyu-Ho Lee
f91f7dfb91
v2http: fix tests to use new clockwork
2016-08-16 16:36:24 -07:00
Gyu-Ho Lee
4d3b281369
etcdserver: fix spell errors
2016-08-13 20:54:48 -07:00
Gyu-Ho Lee
64a0e34602
etcdserver: transfer leadership when stopping
2016-08-13 14:31:58 -07:00
sharat
1fec4ba127
etcdserver: optimized veryfying local member
...
moved the code for perparing and sorting of advertising peer urls and
sorting of peer urls only when strict verification needs to be done.
This is done to avoid this processing when strict verification is not
required like in case of VerifyJoinExisting function.
#6165
2016-08-13 06:17:21 +05:30
Gyu-Ho Lee
f975fe8068
Merge pull request #6140 from gyuho/network-partition
...
*: add network partition tests
2016-08-12 12:33:24 -07:00
Xiang Li
82a3d90763
Merge pull request #6167 from xiang90/fix_txn_rev
...
etcdserver: fix wrong rev in header when nothing is actually got executed
2016-08-12 12:14:48 -07:00
Xiang Li
92a0f08722
etcdserver: fix wrong rev in header when nothing is actually got executed
2016-08-12 11:44:13 -07:00
Gyu-Ho Lee
c6c6cfb502
etcdserver: implement 'CutPeer', 'MendPeer'
2016-08-12 07:38:52 -07:00
Xiang Li
c33ea20fef
Merge pull request #6161 from sinsharat/master
...
etcdserver: stats/server - refactored
2016-08-11 17:03:23 -07:00
Anthony Romano
965b2901d5
Merge pull request #6156 from heyitsanthony/remove-member-quorum
...
etcdserver: reject member removal that breaks active quorum
2016-08-11 11:40:38 -07:00
sharat
6205a9a6cb
etcdserver: stats/server - refactored
...
removed code duplicacy and improved readability
#6160
2016-08-11 22:09:25 +05:30
Anthony Romano
a1ce07a321
etcdserver: reject member removal that breaks the current active quorum
2016-08-10 17:00:39 -07:00
Gyu-Ho Lee
a56cb82180
etcdserver: add TransferLeadership for raft.Node
2016-08-10 16:26:11 -07:00
Gyu-Ho Lee
d219e96359
etcdserver: use Counter for proposals_failed_total
...
It only ever goes up.
2016-08-10 09:27:51 -07:00
sharat
2b5a5c77cf
etcdserver: Error handling for invalid empty raft cluster
...
TODO implemented for GetClusterFromRemotePeers should not return nil
error with an invalid empty cluster
#6137
2016-08-10 19:23:19 +05:30
Anthony Romano
9063ce5e3f
etcdserver, embed: stricter reconfig checking
...
Make --strict-reconfig-check a default and check if cluster is healthy when
adding a member.
2016-08-05 16:59:25 -07:00
Xiang Li
d69d438289
*: minor cleanup for lease
2016-08-04 20:39:32 -07:00
Xiang Li
29a077bdbe
etcdserver: always recover lessor first
2016-08-04 08:06:19 -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
87498e0209
v2http: use guest access in non-TLS mode
...
Fix https://github.com/coreos/etcd/issues/6075 .
2016-08-01 14:00:38 -07:00
Anthony Romano
06da46c4ee
etcdserver: apply serialized requests outside auth apply lock
...
Fixes #6010
2016-07-30 22:00:49 -07:00
Anthony Romano
79d25a6884
Merge pull request #6061 from heyitsanthony/fix-snapshot-test
...
etcdserver: don't race when waiting for store in TestSnapshot
2016-07-27 19:15:41 -07:00
Anthony Romano
cfe09d34b8
etcdserver: don't race when waiting for store in TestSnapshot
2016-07-27 15:37:27 -07:00
Gyu-Ho Lee
982e18d80b
*: regenerate proto with latest grpc-gateway
2016-07-27 13:21:03 -07:00
Anthony Romano
13c2d32061
Merge pull request #6045 from heyitsanthony/fix-version-race
...
etcdserver, api, membership: don't race on setting version
2016-07-27 08:56:39 -07:00
Hitoshi Mitake
0090573749
etcdserver: skip range requests in txn if the result is needless
...
If a server isn't serving txn requests from a client, the server
doesn't need the result of range requests in the txn.
This is a succeeding commit of
https://github.com/coreos/etcd/pull/5689
2016-07-26 19:49:07 -07:00
Anthony Romano
de2c3ec3db
etcdserver, api, membership: don't race on setting version
...
Fixes #6029
2016-07-26 18:21:40 -07:00