Anthony Romano
91039bef7c
Merge pull request #7799 from heyitsanthony/ctxize-resolve
...
netutil: use "context" and ctx-ize TCP addr resolution
2017-04-21 16:30:32 -07:00
Anthony Romano
14d6ed9e5f
*: clear redundant return statement warnings (S1027)
2017-04-21 14:01:00 -07:00
Anthony Romano
85e87e8f6b
netutil: use "context" and ctx-ize TCP addr resolution
2017-04-21 10:01:53 -07:00
Anthony Romano
8fa4b8da6e
Merge pull request #7767 from heyitsanthony/transport-resolve-dnsnames
...
transport: resolve DNSNames when SAN checking
2017-04-18 17:28:01 -07:00
Anthony Romano
05582ad5b2
transport: resolve DNSNames when SAN checking
...
The current transport client TLS checking will pass an IP address into
VerifyHostnames if there is DNSNames SAN. However, the go runtime will
not resolve the DNS names to match the client IP. Intead, resolve the
names when checking.
2017-04-18 13:21:26 -07:00
Gyu-Ho Lee
5161b74799
pkg/debugutil: add 'mutex' profiler (Go 1.8+)
...
Signed-off-by: Gyu-Ho Lee <gyuhox@gmail.com>
2017-04-18 10:56:06 -07:00
Gyu-Ho Lee
8aaa1ed911
*: use '*tls.Config.Clone' in Go 1.8
...
Signed-off-by: Gyu-Ho Lee <gyuhox@gmail.com>
2017-04-17 20:08:27 -07:00
Anthony Romano
1153e1e7d9
Merge pull request #7687 from heyitsanthony/deny-tls-ipsan
...
transport: deny incoming peer certs with wrong IP SAN
2017-04-13 15:03:25 -07:00
Gyu-Ho Lee
8ce579aac9
pkg/transport: add 'IsClosedConnError'
...
Signed-off-by: Gyu-Ho Lee <gyuhox@gmail.com>
2017-04-13 11:55:18 -07:00
Anthony Romano
33a0496b5e
report: add test for Report interface
2017-04-12 16:41:32 -07:00
Anthony Romano
70a9929b5d
transport: use actual certs for listener tests
2017-04-12 13:41:33 -07:00
Anthony Romano
cad1215b18
*: deny incoming peer certs with wrong IP SAN
2017-04-12 13:41:33 -07:00
Anthony Romano
88d4e7ebeb
netutil: fix unused err staticcheck failure
...
Clears SA4006
2017-04-07 10:52:54 -07:00
Anthony Romano
d42c1f5131
Merge pull request #7646 from andelf/fix-unix-socket-url
...
*: fix a bug in handling unix socket urls
2017-04-05 09:24:38 -07:00
Gyu-Ho Lee
43f795a485
Merge pull request #7659 from gyuho/aaa
...
pkg/transport: remove port in Certificate.IPAddresses
2017-04-05 04:29:44 -07:00
andelf
4f27981c46
*: fix a bug in handling unix socket urls
...
Now use url.Host + url.Path as unix socket path
Fixes #7644
2017-04-05 14:33:13 +08:00
Hitoshi Mitake
c4a45c5713
auth, adt: introduce a new type BytesAffineComparable
...
It will be useful for avoiding a cost of casting from string to
[]byte. The permission checker is the first user of the type.
2017-04-05 13:17:24 +09:00
Gyu-Ho Lee
8a7a548a6d
pkg/transport: remove port in Certificate.IPAddresses
...
etcd passes 'url.URL.Host' to 'SelfCert' which contains
client, peer port. 'net.ParseIP("127.0.0.1:2379")' returns
'nil', and the client on this self-cert will see errors
of '127.0.0.1 because it doesn't contain any IP SANs'
Signed-off-by: Gyu-Ho Lee <gyuhox@gmail.com>
2017-04-04 09:44:59 -07:00
Xiang Li
972d8c55ab
Merge pull request #7653 from xiang90/pprof
...
*: add pprof flag to grpc proxy
2017-04-04 09:22:50 -07:00
Xiang
fd5984af56
*: add pprof flag to grpc proxy
2017-04-03 22:07:17 -07:00
Anthony Romano
f67bdc2eed
*: support checking that an interval tree's keys cover an entire interval
2017-04-03 15:38:07 -07:00
Peng Gao
d204b6c3b7
idgen: correct comments for id generator
...
Comments for id generator format is out of
date, correct it.
Fixes #7636
Signed-off-by: Peng Gao <peng.gao.dut@gmail.com>
2017-04-02 20:56:10 +08:00
Anthony Romano
997e83f8ea
testutil: check for grpc resources in AfterTest
...
gRPC leaks only show up at the final leak check, making it difficult to
determine which test is causing the leak.
2017-03-24 16:09:38 -07:00
Anthony Romano
25e3ce1feb
adt: Visit() interval trees in sorted order and terminate early
...
For all intervals [x, y), Visit will visit intervals in ascending order
sorted by x. Also fixes a bug where Visit would not terminate the search
when requested by the visitor function.
2017-03-23 00:02:29 -07:00
Gyu-Ho Lee
27550b229a
Merge pull request #7545 from gyuho/go1.7-go1.8
...
*: use 'io.Seek*' for go1.7+
2017-03-20 16:31:21 -07:00
Gyu-Ho Lee
aca2abd8fe
*: use 'io.Seek*' for go1.7+
...
For https://github.com/coreos/etcd/issues/6174 .
Signed-off-by: Gyu-Ho Lee <gyuhox@gmail.com>
2017-03-20 15:15:24 -07:00
Anthony Romano
ae7b4ee8ed
*: fix gosimple warning for fmt.Sprintf("%s")
2017-03-20 13:26:39 -07:00
Anthony Romano
2f1542c06d
*: use filepath.Join for files
2017-03-16 07:46:06 -07:00
Anthony Romano
eb6a47f87e
testutil: add CheckAfterTest for calling AfterTest without a testing.T
2017-03-10 12:18:24 -08:00
Gyu-Ho Lee
beb58c434c
*: fix minor typos
...
Signed-off-by: Gyu-Ho Lee <gyuhox@gmail.com>
2017-03-08 16:21:52 -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
Anthony Romano
f97a077257
netutil: use ipv4 host by default
...
Was non-deterministic.
2017-02-21 20:11:35 -08:00
David Cheney
9b84127739
pkg/transport: remove dependency on pkg/fileutils
...
4a0f922
changed SelfCert to use a helper from pkg/fileutils which
introduced a transitive dependency on coreos/pkg/capnslog. This means
anyone who imports pkg/transport to use TLS with the clientv3 library
has the default stdlib logger hijacked by capnslog.
This PR reverts 4a0f922
. There are no tests because 4a0f922
contained no
test and was not attached to a PR.
Fixes #7350
2017-02-20 12:32:04 +11:00
fanmin shi
07129a6370
*: add and expose StopSignal field in ExpectProcess
...
add and expose StopSignal to ExpectProcess allows user
to define what signal to send on ExpectProcess.close()
coverage testing code sets StopSignal to SIGTERM allowing
the test binary to shutdown gracefully so that it can generate
a coverage report.
2017-02-17 14:47:06 -08:00
fanmin shi
1d521556ae
e2e: modify e2e to run code coverage
2017-02-15 09:51:50 -08:00
Gyu-Ho Lee
950a9da9d9
pkg/report: add min/max latency per second
...
For https://github.com/coreos/dbtester/issues/221 .
2017-02-04 12:46:54 -08:00
Gyu-Ho Lee
01a1dae7ae
pkg/netutil: name GetDefaultInterfaces consistent
2017-02-03 00:37:31 -08:00
sharat
9def4cb9fe
*: Use http.Request.WithContext instead of Cancel
2017-02-02 22:50:07 +05:30
felixoid
0f53ad0b84
netutil: add dualstack to linux_route
...
in v3.1.0 netutil couldn't get default interface for ipv6only hosts
Fixes #7219
2017-01-31 22:19:47 +03:00
Anthony Romano
5aab92414f
Merge pull request #7199 from heyitsanthony/netutil-test-arch
...
pkg/netutil: use native byte ordering
2017-01-23 09:41:20 -08:00
Anthony Romano
1ada4f939f
pkg/netutil: use native byte ordering for route information
...
Fixes #7199
2017-01-20 10:44:05 -08:00
Anthony Romano
e446c2c2c7
pkg/cpuutil: add cpuutil
...
A package for unsafe cpu-ish things.
2017-01-20 01:47:56 -08:00
Vimal Kumar
e4b8c874d2
pkg/flags: fixed prefix checking of the env variables
2017-01-20 13:13:40 +05:30
Gyu-Ho Lee
307e14028c
Merge pull request #7175 from gyuho/report
...
pkg/report: add nil checking for getTimeSeries
2017-01-17 13:22:20 -08:00
Gyu-Ho Lee
69606bb95f
pkg/report: add nil checking for getTimeSeries
2017-01-17 12:51:47 -08:00
Laurie Clark-Michalek
eba41cd7b3
pkg/transport: Obey the usual laws of ssl when using a private PKI
2017-01-15 21:27:53 +00:00
Gyu-Ho Lee
74bad576ed
pkg/report: add 'Stats' to expose report raw data
2017-01-13 10:26:00 -08:00
Anthony Romano
da8fd18d8e
transport: warn on user-provided CA
...
ServerName is ignored for a user-provided CA for backwards compatibility. This
breaks PKI, so warn it is deprecated.
2017-01-12 09:10:05 -08:00
Gyu-Ho Lee
e44d3abc77
pkg/report: support 99.9-percentile, change column name
2017-01-10 18:22:47 -08:00
Anthony Romano
f99c76cb47
Merge pull request #7113 from heyitsanthony/testutil-bufsize
...
testutil: increase size of buffer for stack dump
2017-01-06 18:16:42 -08:00
Anthony Romano
6ab8dcb679
testutil: increase size of buffer for stack dump
...
Too many goroutines to fit all stack traces in 8kb.
2017-01-06 17:14:42 -08:00
Anthony Romano
cf382dbe60
expect: EXPECT_DEBUG environment variable
...
Dump process output to stdout when EXPECT_DEBUG != "".
2017-01-06 11:09:06 -08:00
fanmin shi
74e7614759
testutil: whitelist thread created by go cover
2016-12-29 17:19:27 -08:00
Anthony Romano
13b05aeff8
netutil: ctx-ize URLStringsEqual
...
Handles the case where the DNS entry will only be set up after etcd
starts.
2016-12-14 15:46:30 -08:00
Xiang Li
2f96a68a20
etcdserver: do not send v2 sync if ttl keys do not exist
2016-12-07 14:48:15 -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
097cdbd0e4
pkg/netutil: get default interface for tc commands
...
Fix https://github.com/coreos/etcd/issues/6841 .
2016-11-17 22:49:17 -08:00
Xiang Li
9f0ee53e86
etcd-runner: move string generation to pkg/stringutil
2016-10-31 12:20:02 -07:00
Gyu-Ho Lee
a00ed609c3
pkg/flags: export 'FlagToEnv' for e2e tests
2016-10-14 11:15:28 -07:00
Xiang Li
e2bd6f2213
Merge pull request #6601 from nekto0n/interval_tree_fast_stab
...
adt: fast path Stab in empty interval tree
2016-10-07 09:13:23 -07:00
Anthony Romano
3d28faa3eb
pkg/report, tools/benchmark: refactor report out of tools/benchmark
...
Only tracks time series when requested. Can configure output precision.
2016-10-06 16:18:47 -07:00
Nikita Vetoshkin
eae70c9379
adt: fast path Stab in empty interval tree
2016-10-06 22:41:33 +05:00
Xiang Li
a781f4ebda
Merge pull request #6551 from xiang90/fix_log_repo
...
pkg: use etcd as logging repo
2016-09-29 02:46:57 -05:00
Xiang Li
9473e9c30e
pkg: use etcd as logging repo
2016-09-29 15:29:38 +08:00
Gyu-Ho Lee
d0c29cc610
pkg/ioutil: configure pageOffset in NewPageWriter
2016-09-28 09:45:54 -07:00
Gyu-Ho Lee
629d9e7dab
Revert "pkg/transport: update tls.Config copy method"
2016-09-19 15:07:12 +09:00
Gyu-Ho Lee
8c9a88c7d4
pkg/transport: update tls.Config copy method
...
For Go 1.7
2016-09-18 22:50:45 +09:00
Xiang Li
7a48ca4cea
embed: fix go 1.7 http issue
...
go 1.7 introduces HTTP2 compability issue. Now we
need to explicitly enable HTTP2 when TLS is set.
2016-09-18 18:38:55 +08:00
Anthony Romano
c449da6ff9
fileutil: windows OpenDir
...
Windows needs to open a directory with write access to fsync but the go
runtime won't open directories that way.
2016-09-08 00:09:16 -07:00
Vimal Kumar
5ea6990a73
corrected the package name in logger
2016-09-07 11:52:01 +05:30
Anthony Romano
2943bf9086
ioutil: add page buffered writer
...
A buffered writer that only writes full pages or when explicitly flushed.
2016-08-30 15:49:07 -07:00
Anthony Romano
58a36cb651
fileutil: add ZeroToEnd for zeroing files
2016-08-25 14:24:46 -07:00
Anthony Romano
aa89bc35fd
Merge pull request #6242 from heyitsanthony/rwdial-timeout
...
pkg/transport: bump wait time in TestReadWriteTimeoutDialer for write deadline
2016-08-22 16:13:50 -07:00
Anthony Romano
3b92384394
pkg/transport: bump wait time in TestReadWriteTimeoutDialer for write deadline
...
Was able to get 2s wait times with 500 concurrent requests on a fast machine;
a slower machine could possibly see similar delays with a single connection.
Fixes #6220
2016-08-22 15:30:44 -07:00
Xiang Li
83de13e4a8
etcdserver: support apply wait
2016-08-19 16:18:35 -07:00
Xiang Li
8db4f5b8e1
pkg/wait: change wait time to use logical clock
2016-08-19 15:10:37 -07:00
Anthony Romano
f9d122066e
pkg/wait: don't expect time.Now() to be strict increasing in WaitTime tests
2016-08-17 11:53:34 -07:00
Anthony Romano
961b03420e
Merge pull request #6185 from heyitsanthony/wait-time-collision
...
wait: make WaitTime robust against deadline collisions
2016-08-15 15:15:29 -07:00
Anthony Romano
16b2d9ca5e
Merge pull request #6170 from heyitsanthony/default-advertise-ip
...
use default ip for advertise URL
2016-08-15 15:12:25 -07:00
Anthony Romano
c3f069c9fc
wait: make WaitTime robust against deadline collisions
2016-08-15 14:38:41 -07:00
Anthony Romano
d23392ed8e
netutil: GetDefaultHost for getting the default IP of the host machine
2016-08-15 11:12:26 -07:00
Gyu-Ho Lee
ae4b4109b2
pkg/httputil: simplify RequestCanceler args
2016-08-14 14:35:50 -07:00
Gyu-Ho Lee
c38f0290a7
pkg/transport: fix minor typo
2016-08-04 16:00:18 -07:00
Anthony Romano
cd781bf30c
transport: add ServerName to TLSConfig and add ValidateSecureEndpoints
...
ServerName prevents accepting forged SRV records with cross-domain
credentials. ValidateSecureEndpoints prevents downgrade attacks from SRV
records.
2016-08-03 22:28:03 -07:00
Gyu-Ho Lee
c8cc87c3f5
pkg/transport: update scheme to unix copying URL
2016-08-03 10:35:28 -07:00
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
Xiang Li
95c29838e3
rafthttp: move ReadCloser to ioutil
2015-12-11 09:37:41 -08:00
Xiang Li
e93c07ba91
pkg/fileutil: make purge test more reliable
2015-12-09 10:34:38 -08:00
Xiang Li
77069ca16b
pkg/fileutil: make purgeTest more robust
...
1. Add a few comments to the test.
2. Provide a more robust way to check the purging
result. Tolerate slow io operations.
2015-12-02 15:12:42 -08:00
Gyu-Ho Lee
81229dbea9
*: add missing package descriptions
...
This adds and updates package descriptions in etcd projects.
And also deletes some duplicate LICENSE statements.
2015-11-17 20:54:10 -08:00
Yicheng Qin
7ff8ec81ee
Merge pull request #3771 from yichengq/cors-auth
...
pkg/cors: add authorization into Access-Control-Allow-Headers
2015-11-10 08:05:53 -08:00
Yicheng Qin
33fe6f41fb
Merge pull request #3808 from yichengq/fix-wait-test
...
pkg/wait: extend wait timeout in TestWaitTime
2015-11-04 11:39:24 -08:00
Yicheng Qin
3b8349c06e
pkg/wait: extend wait timeout in TestWaitTime
...
Fix this error happening on travis:
```
--- FAIL: TestWaitTime-2 (0.01s)
wait_time_test.go:46: cannot receive from ch as expected
```
2015-11-04 11:18:17 -08:00
Yicheng Qin
6040d57106
rafthttp: use MergeLogger to merge message-drop log
...
rafthttp logs repeated messages when amounts of message-drop logs
happen, and it becomes log spamming.
Use MergeLogger to merge log lines in this case.
2015-11-04 07:26:58 -08:00
Yicheng Qin
d6b4c7b67c
pkg/cors: add authorization into Access-Control-Allow-Headers
...
This helps browser to send auth-related request to etcd server when
cors flag is set.
2015-10-28 13:58:04 -07:00
Yicheng Qin
d3ebecdddd
pkg/transport: extend wait timeout for write
...
This helps the test to pass safely in semaphore CI.
Based on my manual testing, it may take at most 500ms to return
error in semaphore CI, so I set 1s as a safe value.
2015-10-21 18:27:21 -07:00
Xiang Li
3c1ecf70cf
pkg/transport: longer timeout for slow CI
2015-10-18 16:32:18 -07:00
Yicheng Qin
9673eb625a
pkg/transport: pass dial timeout to NewTransport
...
So we could set dial timeout for new transport, which makes it
customizable according to max RTT.
2015-10-11 10:09:25 -07:00
Yicheng Qin
e117f36e48
pkg/types: fix unwanted unescape in NewURLsMap
...
We use url.ParseQuery to parse names-to-urls string, but it has side
effect that unescape the string. If the initial-cluster string has ipv6
which contains `%25`, it will unescape it to `%` and make further url
parse failed.
Fix it by modifiying the parse process.
Go1.4 doesn't support literal IPv6 address w/ zone in
URI(https://github.com/golang/go/issues/6530 ), so we only enable tests
in Go1.5+.
2015-10-05 14:54:17 -07:00
Yicheng Qin
de1a16e0f1
pkg/transport: fix a data race in TestReadWriteTimeoutDialer
...
Accessing test.T async will cause data race.
Change to use select to coordinate the access of test.T.
2015-09-30 17:29:24 -07:00
Xiang Li
6c05a01ec6
Merge pull request #3604 from gyuho/replace_netutil_BasicAuth
...
etcdhttp/auth: BasicAuth method in standard pkg
2015-09-28 15:55:46 -07:00