94e77cfa5d
etcdserver: move v3 raft apply functions to interface
2016-03-28 13:16:21 -07:00
70a9391378
*: enable v3 by default
2016-03-23 17:01:36 -07:00
bd832e5b0a
*: migrate Godeps to vendor/
2016-03-22 17:10:28 -07:00
afb1bc242b
Merge pull request #4822 from mitake/auth-backend
...
auth, etcdserver: add a method for updating backend during apply snap…
2016-03-21 23:34:46 -07:00
4e39f690f2
auth, etcdserver: add a method for recoverying from backend during apply snapshot
...
This commit adds a new method Recovery() to auth.AuthStore for
recoverying auth state from backend during apply snapshot. It follows
a manner of the lessor.
2016-03-22 15:17:40 +09:00
67c2384bdf
*: replace '-' with '--' in doc
...
Fix https://github.com/coreos/etcd/issues/4595 .
2016-03-21 11:12:43 -07:00
4eb1cfd658
etcdserver, auth: new package auth for the auth feature
...
This commit adds a new package auth. Its role is persisting auth
related metadata. This commit also connects its main interface
AuthStore and v3 server.
2016-03-14 13:57:41 +09:00
c6192d1d7a
etcdserver: remove todo
2016-03-10 19:10:20 -08:00
adcba975cb
*: recover lessor when applying snapshot
2016-03-10 17:06:58 -08:00
2f12ea893b
etcdserver: add maintain service to support defrag
2016-03-09 22:29:21 -08:00
a44645e13d
etcdserver: align 64-bit atomics on 8-byte boundary
2016-03-10 07:24:33 +02:00
f0dbd0b856
Merge pull request #4646 from xiang90/starvation
...
etcdserver: detect raft stravation
2016-02-29 19:58:17 -08:00
1d6ebdd35c
pkg/timeutil: removal
...
Overkill of a package for three lines of code.
2016-02-29 17:07:24 -08:00
d6520303c6
etcdserver: detect raft starvation caused by contention
2016-02-29 17:06:57 -08:00
d265fe000c
*: support time based auto compaction.
...
Fix https://github.com/coreos/etcd/issues/3906 .
We will have extensive doc to talk about what is compaction
and what is auto compaction soon.
2016-02-25 16:02:03 -08:00
c5b51946eb
*: exported godoc fixups
2016-02-21 20:36:44 -08:00
616f395920
etcdserver: use fifo scheduler for applier
2016-02-11 19:21:30 -08:00
82778ed478
Add refresh parameter to allow TTL refreshes without firing watch/wait responses
2016-02-08 10:37:37 -07:00
fe7cfe4d3d
rafthttp: plumb local peer URLs through transport
2016-02-05 16:44:41 -08:00
e44e753e66
pkg/idutil: reduce conflict rate from 1% to 0.005%
...
Perviously, we only use 8bits from member identification
in id generation. The conflict rate is A(256,3)/256^3, which
is around 1%. Now we use 16bites to reduce the rate to 0.005%.
We can attach the full member id into id generation if needed...
2016-02-04 13:25:18 -08:00
9ae8d85049
integration: decrease timeout for isMemberBootstrapped
...
Spending seconds(!) when it would fail anyway.
integration/TestV3 (before): 100.670
integration/TestV3 (after): 29.571
2016-02-02 14:34:58 -08:00
20461ab11a
*: fix many typos
2016-01-31 21:42:39 -08:00
c4a0159601
documentation: fix typo "a etcd" -> "an etcd"
...
"a" is not a correct article for "etcd".
2016-01-28 19:19:32 +09: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
12f6b8e72d
etcdserver: complete stopWithDelay on server shutdown
...
Was causing goroutine leaks on my machine.
2016-01-25 19:45:29 -08: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
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
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
6b1d9fb7ce
*: stop lessor when etcdserver is stopped
2016-01-12 10:06:11 -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
f76166a041
*: fix minor typos
2016-01-08 00:21:19 -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
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
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
8346a7c052
Merge pull request #4094 from heyitsanthony/send-merged-done-nowait
...
etcdserver: respect done channel when sleeping for snapshot backoff
2015-12-29 20:18:08 -08:00
942b5570bd
Merge pull request #4096 from heyitsanthony/serialize-applier-snapmerge
...
etcdserver: serialize snapshot merger with applier
2015-12-29 19:37:11 -08:00
4cd86ae1ef
etcdserver: serialize snapshot merger with applier
...
Avoids inconsistent snapshotting by only attempting to
create a snapshot after an apply completes.
Fixes #4061
2015-12-29 18:38:39 -08:00
c7c3bda8b9
etcdserver: respect done channel when sleeping for snapshot backoff
2015-12-29 13:23:41 -08:00
150e646b05
etcdserver: always check if the data dir is writable before starting etcd
2015-12-29 11:29:01 -08:00
aef55342d1
etcdsever: avoid creating member dir before finishing validate bootstrap
...
This commit fixes the issue of creating member dir before validating
the configuration. When member dir exists, it indicates the local etcd
process is a valid etcd member. So we should only create member dir
after we finish configuration validation, joining validation or
discovery validation.
2015-12-28 23:20:27 -08:00
eae52a3138
Revert "etcdserver: always remove member directory when bootstrap fails"
...
This reverts commit a7e443d641
.
2015-12-28 23:16:08 -08:00
a7e443d641
etcdserver: always remove member directory when bootstrap fails
...
This removes member directory when bootstrap fails including joining existing
cluster and forming a new cluster. This fixes https://github.com/coreos/etcd/issues/3827 .
2015-12-28 22:56:03 -08:00
72e115ee6e
Merge pull request #4062 from xiang90/fix_snap
...
*: fix snapshot sending cycle
2015-12-23 17:10:10 -08:00
d7ad721ede
etcdserver: stop if removed along with multiple conf changes
...
shouldstop would get clobbered when several conf changes are in an apply
2015-12-23 16:29:21 -08:00
4be152bb4f
rework
2015-12-23 16:21:16 -08:00
9a51d40940
fix comment
2015-12-23 14:10:39 -08:00
ab31ba0d29
*: fix snapshot sending cycle
2015-12-23 13:58:57 -08:00