Commit Graph

17141 Commits

Author SHA1 Message Date
6bc125c8d9 Merge pull request #12936 from serathius/pull_request
Trigger unit test workflow on pull_requests
2021-05-10 12:05:24 +02:00
3cdd24221b CHANGELOG-3.5.md: Add Tracing entry 2021-05-10 10:44:40 +02:00
1a718a958e Add initial Tracing with OpenTelemetry 2021-05-10 10:44:40 +02:00
f1082eec86 Trigger unit test workflow on pull_requests 2021-05-10 09:46:42 +02:00
b9c000fb8f server/etcdmain: officially supports "arm64"
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2021-05-10 00:34:10 -07:00
a8f38ebd6f Merge pull request #12928 from gyuho/github-worker-arm64
github action: add ARM64 test
2021-05-10 00:32:59 -07:00
3a04b2b61f github action: add ARM64 test with README
README for self-hosted-linux-arm64-graviton2-tests.yml

Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2021-05-10 00:28:41 -07:00
5f6f69c3cc Merge pull request #12932 from vvdvortsova/12821-fix-req-maybe-nil
embed: Added a check for a nil value of the request in ServeHTTP method
2021-05-10 08:35:14 +02:00
f5717016cf Merge pull request #12797 from lzhfromustc/3_23
server/etcdmain and tests: Fix goroutine leaks
2021-05-10 08:29:17 +02:00
c3303d94a4 embed: Added a check for an nil value of the request in ServeHTTP method. Fixed #12821 2021-05-09 20:45:43 +03:00
aeb9b5fc73 Merge pull request #12855 from ptabor/20210409-backend-hooks
(no)StoreV2 (Part 4): Backend hooks:  precommit updates consistency_index
2021-05-08 09:34:31 +02:00
6decbe15db Merge pull request #12774 from hexfusion/add-log-rotate
server: add support for log rotation
2021-05-07 12:18:10 -04:00
f178677765 CHANGELOG: server: add support for log rotation #12774
Signed-off-by: Sam Batschelet <sbatsche@redhat.com>
2021-05-07 08:39:51 -04:00
82b2d5c67d server: add support for log rotation
Signed-off-by: Sam Batschelet <sbatsche@redhat.com>
2021-05-07 08:39:51 -04:00
4f87333230 Merge pull request #12922 from serathius/actions
Migrate PR testing from travis to GitHub actions
2021-05-07 09:31:23 +02:00
e818f21790 Migrate PR testing from travis to GitHub actions 2021-05-06 17:06:57 +02:00
344c9f3930 Merge pull request #12896 from wilsonwang371/profiling-txn2
server: make applier use ReadTx() in Txn() instead of ConcurrentReadTx()
2021-05-06 01:59:14 -07:00
8af8f6af27 Merge pull request #12918 from iflamed/fix-doc-demo-bug
fix doc demo bug
2021-05-05 17:01:43 -04:00
a8a3eea56d fix doc demo bug
the service parameter not used.
2021-05-05 13:57:10 +08:00
7296a0708c Set ETCD_UNSUPPORTED_ARCH to ARM64 (#12557)
Signed-off-by: odidev <odidev@puresoftware.com>
2021-05-04 13:29:47 -07:00
b32bc914ff learner support snapshot RPC (#12890)
* learner support snapshot RPC

* CHANGELOG: update for 12890
2021-05-04 13:26:33 -07:00
98083ea914 server: add experimental flag for using shared buffer in transacton write 2021-05-04 11:59:08 -07:00
f1123d696c fixup! Unify shared code (and constants) with cindex package. 2021-05-04 18:21:24 +02:00
a78d072b9a Simplify KVstore dependency on cindex. 2021-05-04 18:21:24 +02:00
2fb6f0a74b Simplify lease management after cindex update is moved to 'hooks'. 2021-05-04 18:21:23 +02:00
2dbecea5b2 Simplify KVStore interaction with cindex thanks to hooks. 2021-05-04 18:21:23 +02:00
fe3254aee3 Remove explicit authStore->ConsistencyIndex updates, as they are taken care by hook. 2021-05-04 15:38:23 +02:00
50051675f9 Integrate backend::hooks with consistent_index.
Every transaction committed to backend is writing most recent consistent_index.
Makes sure that even automatically trigger commits of batch-transactions
stays "really" consistent a.d. the most recent WAL log index applied.
2021-05-04 15:38:23 +02:00
d53d2db1e2 Tests: Backend hooks support. 2021-05-04 15:38:22 +02:00
9f11b16b2d backend: Hooks interface & implementation. 2021-05-04 15:38:22 +02:00
a3fc535a5a Merge pull request #12914 from ptabor/20210430-read-membership
No-storeV2: Read membership information from the backend (Part5)
2021-05-04 10:15:01 +02:00
56154216b7 update variable declaration location 2021-05-03 10:30:15 -07:00
eb128d2d8c Merge pull request #12916 from wpedrak/pass-mlock-during-defrag
server: reapply `Mlock` flag after defrag
2021-05-03 09:01:50 -07:00
6623c008ee server: reapply Mlock flag after defrag 2021-05-03 11:01:02 +02:00
c46e96d519 Merge pull request #12910 from ptabor/20210430-zap-polish
Finish migration zap.NewExample -> zaptest.NewLogger(t) in integration tests
2021-04-29 23:12:56 +02:00
3acf6e35b2 Finish migration zap.NewExample -> zaptest.NewLogger(t) in integration tests 2021-04-29 22:32:26 +02:00
451f65d661 Merge pull request #12908 from ptabor/20210429-client-retry-logging
Clientv3 (retry interceptor) logs should use the configured logger
2021-04-29 19:25:04 +02:00
cedbea6c81 Merge pull request #12904 from wpedrak/limit_mlocked_memory
server: replace mlockall with `Mlock` in `--experimental-memory-mlock`
2021-04-29 18:21:24 +02:00
ffea1537d4 ClientV3 tests use integration.NewClient that configures proper logger. 2021-04-29 18:18:34 +02:00
835643e6e2 Merge pull request #12906 from ptabor/20210429-etcdctl-v2-backup-cindex-fix
20210429 etcdctl v2 backup cindex fix
2021-04-29 18:01:45 +02:00
e908ef3da9 Merge pull request #12903 from lilic/exit-on-signal-int
etcdctl/ctlv3: Cleanup keys on signal interrupt.
2021-04-29 16:22:41 +02:00
205a1a442a Read membership information from the backend. 2021-04-29 13:45:45 +02:00
bc8d3f6639 Clientv3 (retry) logs should use the configured logger.
clientv3 logs (especially tests) were poluted with unattributed to testing.T log lines:

```
{"level":"warn","ts":"2021-04-29T12:42:11.055+0200","logger":"etcd-client","caller":"v3/retry_interceptor.go:64","msg":"retrying of unary invoker failed","target":"etcd-endpoints://0xc0000fafc0/#initially=[unix://localhost:m10]","attempt":0,"error":"rpc error: code = ResourceExhausted desc = etcdserver: mvcc: database space exceeded"}
```

The reasons were 2 fold:
  - Interceptors were copying logger before "WithLogger" could modify it.
  - We were not propagating the loggers in a few testing contexts.
2021-04-29 12:57:09 +02:00
586b2383f4 etcdctl/ctlv3: Cleanup keys on signal interrupt of check perf
If ctc+c is pressed during the run of etcdctl check perf,
this deletes all the previously created keys that perf check created.
2021-04-29 12:55:36 +02:00
1145c57601 server: replace mlockall with Mlock in --experimental-memory-mlock
Implementation of `--experimental-memory-mlock` backed by `mlockall` syscall is replaced by `Mlock` flag (backed by mlock syscall) of bboltDB.
2021-04-29 12:08:52 +02:00
927b3a3152 server: replace mlockall with Mlock in --experimental-memory-mlock
Implementation of `--experimental-memory-mlock` backed by `mlockall` syscall is replaced by `Mlock` flag (backed by mlock syscall) of bboltDB.
2021-04-29 12:08:20 +02:00
e90504fe62 Unify shared code (and constants) with cindex package. 2021-04-29 11:51:25 +02:00
f53b70facb Embed: In case KVStoreHash verification fails, close the backend.
In case of failed verification, the server used to keep opened backend
(so the file was locked on OS level).
2021-04-29 11:51:25 +02:00
2ad893b110 Integrate verification into e2e tests. 2021-04-29 11:51:24 +02:00
911204cd76 Fix ETCDCTL_API=2 etcdctl backup --with-v3 consistent index consistency
Prior to this CL, `ETCDCTL_API=2 etcdctl backup --with-v3` was readacting WAL log
(by removal of some entries), but was NOT updating consistent_index in the backend.
Also the WAL editing logic was buggy, as it didn't took in consideration the fact
that when TERM changes, there can be entries with duplicated indexes in
the log. So its NOT sufficient to subtract number of removed entries to
get accurate log indexes.

The PR replaces removing and shifting of WAL entries with replacing them with an no-op entries.
Thanks to this consistent-index references are staying up to date.

The PR also:
  - updates 'verification' logic to check whether consistent_index does not lag befor last snapshot
  - env-gated execution of verification framework in `etcdctl backup`.

Tested with:
```
(./build.sh && cd tests && EXPECT_DEBUG=TRUE 'env' 'go' 'test' '-timeout=300m' 'go.etcd.io/etcd/tests/v3/e2e' -run=TestCtlV2Backup --count=1000 2>&1 | tee TestCtlV2BackupV3.log)
```
2021-04-29 11:51:24 +02:00