Anthony Romano
99e0655c2f
transport: wrap timeout listener with tls listener
...
Otherwise the listener will return timeoutConn's, causing a type
assertion to tls.Conn in net.http to fail so http.Request.TLS is never set.
2016-07-19 16:47:14 -07:00
Anthony Romano
c920ce0453
fileutil: rework purge tests so they don't poll
...
Fixes #5966
2016-07-18 14:19:09 -07:00
Anthony Romano
984badeb03
testutil, clientv3: wait for panics in txn tests to complete
...
Fixes #5901
2016-07-18 09:37:33 -07:00
Xiang Li
3839a55910
*: fix issue found in fast lease renew
2016-07-15 15:07:15 -07:00
Hitoshi Mitake
abb20ec51f
etcdserver, pkg: skip needless log entry applying
...
This commit lets etcdserver skip needless log entry applying. If the
result of log applying isn't required by the node (client that issued
the request isn't talking with the node) and the operation has no side
effects, applying can be skipped.
It would contribute to reduce disk I/O on followers and be useful for
a cluster that processes much serializable get.
2016-07-08 15:16:45 +09:00
Anthony Romano
54d56e2531
pkg/types: accept unix and unixs schemes
2016-06-24 21:04:39 -07:00
Anthony Romano
fc1a226d15
pkg/transport: unix domain socket listener and transport
2016-06-24 21:04:31 -07:00
Gyu-Ho Lee
4a0f922a6c
pkg/transport: use TouchDirAll
2016-06-22 15:57:55 -07:00
Gyu-Ho Lee
187faba3e0
pkg/fileutil: fix TouchDirAll, add CreateDirAll
...
os.MkdirAll never returns os.ErrExist.
And add another function to ensure deepest
directory is empty.
2016-06-22 15:54:17 -07:00
Gyu-Ho Lee
6557ef7cd8
*: copy all exported members in tls.Config
...
Without this, go vet complains
assignment copies lock value to n: crypto/tls.Config contains sync.Once
contains sync.Mutex
2016-06-22 12:04:08 -07:00
James Shubin
6480066054
*: misc typos and go vet fixes
2016-06-22 10:32:13 -07:00
Xiang Li
8ea6be38ba
*: remove old flag support
...
These legacy flags support are here only because we do not want
CoreOS updates to break people.
Now people will be aware of that they switch to etcd3. Do not need
to support 0.x flags any more.
2016-06-17 14:51:45 -07:00
Gyu-Ho Lee
47d5257622
pkg/fileutil: expose PrivateFileMode/DirMode
2016-06-10 15:22:14 -07:00
Jordan Liggitt
4f7622fb9a
fileutil: avoid double preallocation
2016-06-10 00:27:59 -04:00
Anthony Romano
4984d82d27
Merge pull request #5570 from heyitsanthony/rafthttp-snapshot-tests
...
rafthttp: snapshot testing
2016-06-06 16:02:22 -07:00
Anthony Romano
3aadb25c31
pkg/ioutil: exact readcloser
...
NewExactReadCloser wraps a ReadCloser so it returns errors if exact number
of bytes are not read.
2016-06-06 11:38:10 -07:00
Anthony Romano
54aac4ab7e
pkg/fileutil: fall back to truncate() if fallocate is interrupted
...
Fixes #5558
2016-06-06 09:52:34 -07:00
Xiang Li
8b28c647ea
transport: require tls12
2016-06-02 09:38:56 -07:00
Anthony Romano
fc7da09d67
*: add missing godoc package descriptions
...
Fixes #4074
2016-05-27 15:15:26 -07:00
James Shubin
d41ce0a97c
pkg/types: Add tests for NewURLsMapFromStringMap
2016-05-14 10:48:56 -04:00
James Shubin
17e23769d9
pkg/types: gofmt existing code
2016-05-14 09:33:58 -04:00
James Shubin
029fe6bf47
pkg/types: Build a urls map from a string map
...
This adds a simple transformation function which is helpful when
manipulating the different etcd internal data representations.
2016-05-14 09:33:58 -04:00
Gyu-Ho Lee
8b77de4e99
pkg: update LICENSE header
2016-05-12 20:48:53 -07:00
Gyu-Ho Lee
4ab1500a6d
pkg/fileutil: wait up to 300ms for purge test
...
Fix https://github.com/coreos/etcd/issues/5231 .
The issue shows that slow CI can take more than 200ms
for purging. This increase the loop iteration to wait
up to 300ms in case the disk is being slow.
2016-04-29 15:24:44 -07:00
Ajit Yagaty
8b6de5f85d
fileutil: Sync on HFS/OSX needs to be handled differently.
...
A call file.Sync on OSX doesn't guarantee actual persistence on
physical drive media as the data can be cached in physical drive's
buffers. Hence calls to file.Sync need to be replaced with
fcntl(F_FULLFSYNC).
2016-04-18 21:49:04 -07:00
Anthony Romano
d4ff9364d4
Merge pull request #4861 from heyitsanthony/nfs-lock
...
pkg/fileutil: fix linux file locks over NFS
2016-04-16 08:59:10 -07:00
Anthony Romano
9bfa0172f5
test, clientv3: run examples as integration tests
2016-04-15 11:51:30 -07:00
Gyu-Ho Lee
ae27b991b1
*: add more examples to clientv3, pkg/adt
2016-04-14 23:46:50 -07:00
Anthony Romano
fcb5ba98d0
pkg/expect: support sending Signals to expect process
2016-04-13 09:11:57 -07:00
Gyu-Ho Lee
4041bbe571
Merge pull request #5008 from gyuho/gosimple_unused
...
clean up with gosimple and unused
2016-04-07 23:31:21 -07:00
Gyu-Ho Lee
fb85da92e8
*: fix based on gosimple and unused
2016-04-07 23:16:37 -07:00
Xiang Li
9c7fb9c360
*: fix misspell
2016-04-07 21:57:06 -07:00
Xiang Li
bf2289ae00
etcdserver: move membership related code to membership pkg
2016-04-07 14:21:37 -07:00
Gyu-Ho Lee
6e6d64fb9b
*: clean up unused vars, functions
...
With help from https://github.com/dominikh/go-unused .
IsNetTimeoutError seems useful, so moved to pkg/netutil.
2016-04-06 21:33:55 -07:00
Gyu-Ho Lee
679e5e379b
pkg/expect: ExpectFunc, LineCount
...
ExpectFunc to make expect more extensible. LineCount to be
able to check 'no output' command.
2016-04-06 15:56:00 -07:00
Anthony Romano
dc420d660e
e2e, pkg/expect: distinguish between Stop and Close
...
Fixes #4928
2016-04-03 11:45:02 -07:00
Gyu-Ho Lee
f4eaa3f8fb
pkg/expect: replace SendLine with Send method
2016-04-03 10:57:35 -07:00
Gyu-Ho Lee
c09f23c46d
*: clean up bool comparison
2016-04-02 18:27:54 -07:00
Gyu-Ho Lee
b0cc0e443c
*: clean up if, bool comparison
2016-04-02 12:55:11 -07:00
Gyu-Ho Lee
d898c68f2c
pkg/expect: add SendLine for interactive mode
2016-03-31 15:34:30 -07:00
Xiang Li
eb3919e8cf
*: move baisc tls util funcs to tlsutil pkg
2016-03-31 09:45:45 -07:00
Anthony Romano
5707f6b997
pkg/expect: add expect package
2016-03-30 15:14:24 -07:00
Anthony Romano
b539d3a411
test: check formatting for all relevant packages in pkg/
2016-03-30 15:14:24 -07:00
Gyu-Ho Lee
a42d1dc1fe
*: drain http.Response.Body before closing
2016-03-30 09:35:47 -07:00
Gyu-Ho Lee
3f1a1c3192
pkg/fileutil: lock file on Windows
2016-03-27 00:35:44 -07:00
Anthony Romano
877030ea9d
pkg/fileutil: fix linux file locks over NFS
...
Fixes #4853
2016-03-25 16:28:29 -07:00
Xiang Li
a120ca16c0
etcdctlv3: accept evn for global configuration flags
2016-03-25 14:23:32 -07:00
Xiang Li
900a61b023
*: http and https on the same port
2016-03-23 10:28:38 -07:00
Anthony Romano
bd832e5b0a
*: migrate Godeps to vendor/
2016-03-22 17:10:28 -07:00
Nick Owens
d80a546ed4
pkg/transport: use ProxyFromEnvironment when constructing a transport
...
this allows use of HTTP_PROXY/HTTPS_PROXY for etcdctl.
2016-03-21 21:02:42 -07:00
Anthony Romano
adebd91114
Merge pull request #4785 from heyitsanthony/gce-fallocate
...
wal: extend WAL file to segment size on fallocate
2016-03-21 13:08:53 -07:00
Anthony Romano
a69c709839
pkg/transport: generate certs
2016-03-21 11:38:23 -07:00
Anthony Romano
aafe717f2f
fileutil: support file extending preallocate
2016-03-21 09:42:30 -07:00
Gyu-Ho Lee
dae7e009b0
*: godoc clean up
2016-03-19 14:19:23 -07:00
Gyu-Ho Lee
5bba773199
pkg/testutil: drop go1.4 goroutine leak exception
2016-03-18 18:45:47 -07:00
Gyu-Ho Lee
0a82c06a2c
pkg/types: drop go1.4 tests
2016-03-18 18:45:29 -07:00
Gyu-Ho Lee
33e22fa8d7
pkg/httputil: drop go1.4 tests
2016-03-18 18:45:12 -07:00
Anthony Romano
7397e14c0a
fileutil, wal: refactor file locking
...
File lock interface was more verbose than it needed to be while
simultaneously making it difficult to support systems (e.g., Windows)
that only permit locked writes on a single fd holding the lock.
2016-03-16 15:02:15 -07:00
Hongchao Deng
dcaf5ef586
move store recorder to 'mock/mockstore'
2016-03-15 15:41:07 -07:00
Xiang Li
e59efe45a1
wal: support fadatasync on linux
2016-03-13 17:22:53 -07:00
Gyu-Ho Lee
22a8bbd3b1
pkg/fileutil: clean up interface, comments
2016-03-09 09:19:56 -08:00
Gyu-Ho Lee
4422db389a
pkg/netutil: add linux netem functions
...
This is useful for simulating bad networks by introducing
latencies to wide area networks.
Reference:
http://www.linuxfoundation.org/collaborate/workgroups/networking/netem
2016-03-03 10:14:28 -08:00
Xiang Li
f0dbd0b856
Merge pull request #4646 from xiang90/starvation
...
etcdserver: detect raft stravation
2016-02-29 19:58:17 -08:00
Anthony Romano
1d6ebdd35c
pkg/timeutil: removal
...
Overkill of a package for three lines of code.
2016-02-29 17:07:24 -08:00
Xiang Li
d6520303c6
etcdserver: detect raft starvation caused by contention
2016-02-29 17:06:57 -08:00
Anthony Romano
c0b06a7a32
pkg/adt: interval tree
2016-02-29 15:20:30 -08:00
Anthony Romano
c5b51946eb
*: exported godoc fixups
2016-02-21 20:36:44 -08:00
Xiang Li
870e4c2681
*: fix schedule.Wait race
2016-02-11 15:21:33 -08:00
Xiang Li
d314345e6d
*: add a scheduler and use it to schedule compaction
2016-02-10 14:27:08 -08:00
Xiang Li
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
Xiang Li
d43bd48977
pkg/wait: make id checking stricter
...
Do not allow register with same id.
2016-02-04 09:59:49 -08:00
Anthony Romano
72b31d6fdc
pkg/testutil: more aggressive goroutine stack trace coalescing
...
Strips out the pointer arguments in the header of the stack trace so
that more stack traces match each other.
2016-02-02 21:20:24 -08:00
Anthony Romano
20461ab11a
*: fix many typos
2016-01-31 21:42:39 -08:00
Gyu-Ho Lee
71c2a9bb3c
*: fix minor typos, comments
2016-01-30 18:15:56 -08:00
Xiang Li
12556af26b
Merge pull request #4343 from shawnps/patch-6
...
testutil: fix typo in comment
2016-01-28 23:03:29 -08:00
Shawn Smith
0cbd5bfe7d
testutil: fix typo in comment
2016-01-29 16:02:07 +09:00
Shawn Smith
4e649970df
logutil: fix typo in comment
2016-01-29 16:01:19 +09:00
Xiang Li
b1a45fe1c8
Merge pull request #4274 from xiang90/leasehttp
...
leasehttp: move lease/http.go to its own pkg
2016-01-25 10:25:25 +08:00
Xiang Li
72ffa74476
pkg/transport: update timeout transport to reuse conn when timeout is not set
2016-01-25 06:55:54 +08:00
Gyu-Ho Lee
96d2ee20e3
*: detect leaky goroutines, fix leaks
...
gexpect.Interact leaks. This adds ReadLine method to wait for the leaky
goroutine to accept an EOF.
Fixes https://github.com/coreos/etcd/issues/4258 .
Reference: https://github.com/coreos/etcd/pull/4261#issuecomment-174198945 .
2016-01-23 13:52:41 -08:00
Gyu-Ho Lee
0d646a25ee
pkg/testutil: fix unreachable go tool vet complain
2016-01-22 15:16:35 -08:00
Gyu-Ho Lee
497bbd3010
*: FatalStack to stacktrace tests after timeout
...
Related to https://github.com/coreos/etcd/issues/4065 .
2016-01-14 10:20:14 -08:00
Gyu-Ho Lee
b6077f9d57
*: fix minor typos
2016-01-14 01:28:29 -08:00
Anthony Romano
54c905f87f
testutil: fix data race in RecorderBuffered
...
Was accessing a shared data structure instead of the private copy.
Fixes #4198
2016-01-12 21:08:51 -08:00
Anthony Romano
811fbc5672
etcdmain: support keep alive listeners on limit listener connections
...
Fixes #4171
2016-01-08 10:11:31 -08:00
Gyu-Ho Lee
f76166a041
*: fix minor typos
2016-01-08 00:21:19 -08:00
Xiang Li
1f97f2dc36
etcdmain: tls listener MUST be at the outer layer of all listeners
...
go HTTP library uses type assertion to determine if a connection
is a TLS connection. If we wrapper TLS Listener with any customized
Listener that can create customized Conn, HTTPs will be broken.
This commit fixes the issue.
2016-01-07 10:26:49 -08:00
Anthony Romano
f2df87f3e4
pkg/transport: support listeners on unix sockets
...
Given unix://<socketname>, NewListener will listen on unix socket <socketname>.
This is useful when binding to tcp ports is undesirable (e.g., testing).
2016-01-06 12:09:05 -08:00
Anthony Romano
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
Anthony Romano
e1bf726bc1
*: split out etcdserver's test mockup objects to live in interfaces' packages
2016-01-05 09:39:13 -08:00
Gyu-Ho Lee
64032541c3
pkg/logutil: round off start time, add merge_logger_test.go
2015-12-29 20:00:46 -08:00
Xiang Li
150e646b05
etcdserver: always check if the data dir is writable before starting etcd
2015-12-29 11:29:01 -08:00
Gyu-Ho Lee
8d368c4dba
pkg/fileutil: fix error var shadow
...
Go tip complains about error variable shadowing at
https://travis-ci.org/coreos/etcd/jobs/98636879#L291-L292 .
2015-12-23 23:56:26 -08:00
Xiang Li
22b3b3e07a
Merge pull request #4038 from AkihiroSuda/etcd-4007
...
pkg/fileutil: skip TestIsDirWriteable when running as root
2015-12-23 22:23:57 -08:00
Akihiro Suda
058f1449d6
pkg/fileutil: skip TestIsDirWriteable when running as root
2015-12-24 14:52:40 +09:00
Jonathan Boulle
50efd01e34
pkg: fix tiny docstring typo in ioutil
2015-12-22 16:37:22 +01:00
Xiang Li
4bcd7587e2
etcdmain: fix incomplete proxy config file
...
etcd might generate incomplete proxy config file after a power failure.
It is because we use ioutil.WriteFile. And iotuile.WriteFile does
not call Sync before closing the file.
2015-12-21 16:15:00 -08:00
Xiang Li
96731f4525
Merge pull request #3991 from xiang90/fix_lock
...
pkg/fileutil: make TestLockAndUnlock less flaky on CI
2015-12-14 11:58:14 -08:00
Xiang Li
be3e87b238
pkg/fileutil: make TestLockAndUnlock less flaky on CI
...
CI is slow sometime. To make the test less flaky, we increases the
timeout. This does not affect the correctness, but the test might
take longer to finish or to fail.
2015-12-14 11:38:07 -08:00
Gyu-Ho Lee
4e06510280
pkg/fileutil: fix shadowed variables
2015-12-12 09:38:26 -08:00