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
Gyu-Ho Lee
e16f81838b
etcdhttp/auth: BasicAuth method in standard pkg
...
I created a new PR from https://github.com/coreos/etcd/pull/3598 .
This is for `TODO: use the standard lib BasicAuth method when we move to
Go 1.4.` [1]. `BasicAuth` method got into Go standard package a year ago. [2]
---
1. https://github.com/coreos/etcd/blob/master/pkg/netutil/netutil.go#L126-L138
2. https://codereview.appspot.com/76540043/
2015-09-28 14:02:55 -07:00
Xiang Li
5d033c22af
pkg/transport: fix a data race in TestWriteReadTimeoutListener
2015-09-25 10:02:37 -07:00
Jonathan Boulle
7848ac3979
*: add missing license headers
2015-09-15 14:09:01 -07:00