Skip to content

Commit

Permalink
Merge branch 'etcd-io:main' into pr7
Browse files Browse the repository at this point in the history
  • Loading branch information
geetasg authored Aug 21, 2023
2 parents 13aa16f + fe1f30e commit fbab162
Show file tree
Hide file tree
Showing 50 changed files with 286 additions and 296 deletions.
7 changes: 7 additions & 0 deletions .github/workflows/e2e.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,11 @@ permissions: read-all
jobs:
test:
runs-on: ubuntu-latest
container:
image: golang:1.20-bullseye
defaults:
run:
shell: bash
strategy:
fail-fast: true
matrix:
Expand All @@ -13,6 +18,8 @@ jobs:
- linux-386-e2e
steps:
- uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3
# https://github.com/actions/checkout/issues/1169
- run: git config --system --add safe.directory '*'
- id: goversion
run: echo "goversion=$(cat .go-version)" >> "$GITHUB_OUTPUT"
- uses: actions/setup-go@93397bea11091df50f3d7e59dc26a7711a8bcfbe # v4.1.0
Expand Down
6 changes: 6 additions & 0 deletions .github/workflows/grpcproxy.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,10 @@ permissions: read-all
jobs:
test:
runs-on: ubuntu-latest
container: golang:1.20-bullseye
defaults:
run:
shell: bash
strategy:
fail-fast: true
matrix:
Expand All @@ -13,6 +17,8 @@ jobs:
- linux-amd64-grpcproxy-e2e
steps:
- uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3
# https://github.com/actions/checkout/issues/1169
- run: git config --system --add safe.directory '*'
- id: goversion
run: echo "goversion=$(cat .go-version)" >> "$GITHUB_OUTPUT"
- uses: actions/setup-go@93397bea11091df50f3d7e59dc26a7711a8bcfbe # v4.1.0
Expand Down
8 changes: 6 additions & 2 deletions .github/workflows/robustness-nightly.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,9 @@ jobs:
count: 80
testTimeout: 200m
artifactName: main
runs-on: "['ubuntu-latest-8-cores']"
main-arm64:
uses: ./.github/workflows/robustness-template-arm64.yaml
uses: ./.github/workflows/robustness-template.yaml
with:
etcdBranch: main
count: 80
Expand All @@ -30,17 +31,20 @@ jobs:
count: 80
testTimeout: 200m
artifactName: release-35
runs-on: "['ubuntu-latest-8-cores']"
release-35-arm64:
uses: ./.github/workflows/robustness-template-arm64.yaml
uses: ./.github/workflows/robustness-template.yaml
with:
etcdBranch: release-3.5
count: 100
testTimeout: 200m
artifactName: release-35-arm64
runs-on: "['self-hosted', 'Linux', 'ARM64']"
release-34:
uses: ./.github/workflows/robustness-template.yaml
with:
etcdBranch: release-3.4
count: 80
testTimeout: 200m
artifactName: release-34
runs-on: "['ubuntu-latest-8-cores']"
78 changes: 0 additions & 78 deletions .github/workflows/robustness-template-arm64.yaml

This file was deleted.

13 changes: 11 additions & 2 deletions .github/workflows/robustness-template.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -21,12 +21,22 @@ on:
type: string
default: "['ubuntu-latest']"
permissions: read-all

jobs:
test:
timeout-minutes: 210
runs-on: ${{ fromJson(inputs.runs-on) }}
container:
image: golang:1.20-bullseye
# Required for mounting fuse lazyfs
options: --privileged
defaults:
run:
shell: bash
steps:
- uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3
# https://github.com/actions/checkout/issues/1169
- run: git config --system --add safe.directory '*'
- id: goversion
run: echo "goversion=$(cat .go-version)" >> "$GITHUB_OUTPUT"
- uses: actions/setup-go@93397bea11091df50f3d7e59dc26a7711a8bcfbe # v4.1.0
Expand All @@ -40,9 +50,8 @@ jobs:
go clean -testcache
# Build LazyFS
sudo apt-get -y install cmake libfuse3-dev libfuse3-3 fuse3
apt update && apt-get --yes install cmake libfuse3-dev libfuse3-3 fuse3
make install-lazyfs
# Use --failfast to avoid overriding report generated by failed test
GO_TEST_FLAGS="-v --count ${{ inputs.count }} --timeout ${{ inputs.testTimeout }} --failfast --run TestRobustness"
case "${ETCD_BRANCH}" in
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/robustness.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,3 +10,4 @@ jobs:
count: 12
testTimeout: 30m
artifactName: main
runs-on: "['ubuntu-latest-8-cores']"
6 changes: 6 additions & 0 deletions .github/workflows/tests.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,10 @@ permissions: read-all
jobs:
test:
runs-on: ubuntu-latest
container: golang:1.20-bullseye
defaults:
run:
shell: bash
strategy:
fail-fast: false
matrix:
Expand All @@ -16,6 +20,8 @@ jobs:
- linux-386-unit-1-cpu
steps:
- uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3
# https://github.com/actions/checkout/issues/1169
- run: git config --system --add safe.directory '*'
- id: goversion
run: echo "goversion=$(cat .go-version)" >> "$GITHUB_OUTPUT"
- uses: actions/setup-go@93397bea11091df50f3d7e59dc26a7711a8bcfbe # v4.1.0
Expand Down
2 changes: 1 addition & 1 deletion CHANGELOG/CHANGELOG-3.4.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ Previous change logs can be found at [CHANGELOG-3.3](https://github.com/etcd-io/
- Fix [Reset auth token when failing to authenticate due to auth being disabled](https://github.com/etcd-io/etcd/pull/16240)

### Dependencies
- Compile binaries using [go 1.19.12](https://github.com/etcd-io/etcd/pull/16353).
- Compile binaries using [go 1.20.7](https://github.com/etcd-io/etcd/pull/16406).

<hr>

Expand Down
3 changes: 2 additions & 1 deletion CHANGELOG/CHANGELOG-3.5.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ Previous change logs can be found at [CHANGELOG-3.4](https://github.com/etcd-io/
## v3.5.10 (tbd)

### etcd server
- Fix [`--socket-reuse-port` and `--socket-reuse-address` not able to be set in configuration file](https://github.com/etcd-io/etcd/pull/16435).
- Fix [corruption check may get a `ErrCompacted` error when server has just been compacted](https://github.com/etcd-io/etcd/pull/16048)
- Improve [Lease put performance for the case that auth is disabled or the user is admin](https://github.com/etcd-io/etcd/pull/16019)
- Improve [Skip getting authInfo from incoming context when auth is disabled](https://github.com/etcd-io/etcd/pull/16241)
Expand All @@ -26,7 +27,7 @@ Previous change logs can be found at [CHANGELOG-3.4](https://github.com/etcd-io/
- Fix [Reset auth token when failing to authenticate due to auth being disabled](https://github.com/etcd-io/etcd/pull/16241)

### Dependencies
- Compile binaries using [go 1.19.12](https://github.com/etcd-io/etcd/pull/16352).
- Compile binaries using [go 1.20.7](https://github.com/etcd-io/etcd/pull/16401).

<hr>

Expand Down
4 changes: 2 additions & 2 deletions CHANGELOG/CHANGELOG-3.6.md
Original file line number Diff line number Diff line change
Expand Up @@ -94,8 +94,8 @@ See [List of metrics](https://etcd.io/docs/latest/metrics/) for all metrics per
- Add [`etcd_debugging_server_alarms`](https://github.com/etcd-io/etcd/pull/14276).

### Go
- Require [Go 1.19+](https://github.com/etcd-io/etcd/pull/14463).
- Compile with [Go 1.19+](https://golang.org/doc/devel/release.html#go1.19). Please refer to [gc-guide](https://go.dev/doc/gc-guide) to configure `GOGC` and `GOMEMLIMIT` properly.
- Require [Go 1.20+](https://github.com/etcd-io/etcd/pull/16394).
- Compile with [Go 1.20+](https://golang.org/doc/devel/release.html#go1.20). Please refer to [gc-guide](https://go.dev/doc/gc-guide) to configure `GOGC` and `GOMEMLIMIT` properly.

### Other

Expand Down
6 changes: 3 additions & 3 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,10 +38,10 @@ Depending on your interest and experience you should check different labels:
If any of aforementioned labels don't have unassigned issues, please [contact] one of the [maintainers] asking to triage more issues.

[github issue tracker]: https://github.com/etcd-io/etcd/issues
[good first issue]: https://github.com/etcd-io/etcd/labels/good%20first%20issue
[help wanted]: https://github.com/etcd-io/etcd/labels/help%20wanted
[good first issue]: https://github.com/search?type=issues&q=org%3Aetcd-io+state%3Aopen++label%3A%22good+first+issue%22
[help wanted]: https://github.com/search?type=issues&q=org%3Aetcd-io+state%3Aopen++label%3A%22help+wanted%22
[maintainers]: https://github.com/etcd-io/etcd/blob/main/MAINTAINERS
[priority/important]: https://github.com/etcd-io/etcd/labels/priority%2Fimportant
[priority/important]: https://github.com/search?type=issues&q=org%3Aetcd-io+state%3Aopen++label%3A%22priority%2Fimportant%22

## Setup development environment

Expand Down
11 changes: 2 additions & 9 deletions Documentation/contributor-guide/dependency_management.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,8 @@ Dependency management
- [Bumping order](#bumping-order)
- [Steps to bump a dependency](#steps-to-bump-a-dependency)
- [Indirect dependencies](#indirect-dependencies)
- [About gRPC](#about-grpc)
- [Known incompatible dependency updates](#known-incompatible-dependency-updates)
- [arduino/setup-protoc](#arduinosetup-protoc)
- [Rotation worksheet](#rotation-worksheet)
- **[Stable branches](#stable-branches)**

Expand Down Expand Up @@ -82,14 +83,6 @@ should fix the issue and ensure all modules depend on the same version of the de
### arduino/setup-protoc
Please refer to [build(deps): bump arduino/setup-protoc from 1.3.0 to 2.0.0](https://github.com/etcd-io/etcd/pull/16016)

### About gRPC
There is a compatible issue between etcd and gRPC 1.52.0, and there is a pending PR [pull/15131](https://github.com/etcd-io/etcd/pull/15131).

The plan is to remove the dependency on some grpc-go's experimental API firstly, afterwards try to bump it again. Please get more details in
[issues/15145](https://github.com/etcd-io/etcd/issues/15145).

`go.opentelemetry.io/otel` version update is indirectly blocked due to this gRPC issue. Please get more details in [pull/15810](https://github.com/etcd-io/etcd/pull/15810).

## Rotation worksheet
The dependabot scheduling interval is weekly; it means dependabot will automatically raise a bunch of PRs per week.
Usually human intervention is required each time. We have a [rotation worksheet](https://docs.google.com/spreadsheets/d/1DDWzbcOx1p32MhyelaPZ_SfYtAD6xRsrtGRZ9QXPOyQ/edit#gid=0),
Expand Down
2 changes: 1 addition & 1 deletion Documentation/contributor-guide/release.md
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ Binaries are pushed to gcr.io and images are pushed to quay.io and gcr.io.

## Announce to the etcd-dev Googlegroup

- Follow the format of [previous release emails](https://groups.google.com/forum/#!forum/etcd-dev).
- Follow the format of [previous release emails](https://groups.google.com/g/etcd-dev).
- Make sure to include a list of authors that contributed since the previous release - something like the following might be handy:

```
Expand Down
2 changes: 1 addition & 1 deletion Documentation/contributor-guide/roadmap.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ For a full list of tasks in v3.6.0, please see [milestone etcd-v3.6](https://git
| [Support downgrade](https://github.com/etcd-io/etcd/issues/11716) | P0 | etcd will support downgrade starting from 3.6.0. But it will also support offline downgrade from 3.5 to 3.4. |
| [StoreV2 deprecation](https://github.com/etcd-io/etcd/issues/12913) | P0 | This task will be covered in both 3.6 and 3.7. |
| [Release raft 3.6.0](https://github.com/etcd-io/raft/issues/89) | P0 | etcd 3.6.0 will depends on raft 3.6.0 |
| [Release bbolt 1.3.8](https://github.com/etcd-io/bbolt/issues/542) | P0 | etcd 3.6.0 will depends on bbolt 1.3.8 |
| [Release bbolt 1.4.0](https://github.com/etcd-io/bbolt/issues/553) | P0 | etcd 3.6.0 will depends on bbolt 1.4.0 |
| [Support /livez and /readyz endpoints](https://github.com/etcd-io/etcd/issues/16007) | P1 | It provides clearer APIs, and can also workaround the stalled writes issue |
| [Bump gRPC](https://github.com/etcd-io/etcd/issues/16290) | P1 | It isn't guaranteed to be resolved in 3.6, and might be postponed to 3.7 depending on the effort and risk. |
| [Deprecate grpc-gateway or bump it](https://github.com/etcd-io/etcd/issues/14499) | P1 | It isn't guaranteed to be resolved in 3.6, and might be postponed to 3.7 depending on the effort and risk. |
Expand Down
8 changes: 3 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -134,7 +134,7 @@ Now it's time to dig into the full etcd API and other guides.

## Contact

* Email: [etcd-dev](https://groups.google.com/forum/?hl=en#!forum/etcd-dev)
* Email: [etcd-dev](https://groups.google.com/g/etcd-dev)
* Slack: [#etcd](https://kubernetes.slack.com/messages/C3HD8ARJ5/details/) channel on Kubernetes ([get an invite](http://slack.kubernetes.io/))
* [Community meetings](#community-meetings)

Expand All @@ -146,11 +146,9 @@ An initial agenda will be posted to the [shared Google docs][shared-meeting-note

Meeting recordings are uploaded to official etcd [YouTube channel].

Get calendar invitation by joining [etcd-dev](https://groups.google.com/forum/?hl=en#!forum/etcd-dev) mailing group.
Get calendar invitation by joining [etcd-dev](https://groups.google.com/g/etcd-dev) mailing group.

Join Hangouts Meet: [meet.google.com/umg-nrxn-qvs](https://meet.google.com/umg-nrxn-qvs)

Join by phone: +1 405-792-0633‬ PIN: ‪299 906‬#
Join CNCF-funded Zoom channel: [zoom.us/my/cncfetcdproject](https://zoom.us/my/cncfetcdproject)

[shared-meeting-notes]: https://docs.google.com/document/d/16XEGyPBisZvmmoIHSZzv__LoyOeluC5a4x353CX0SIM/edit
[YouTube channel]: https://www.youtube.com/channel/UC7tUWR24I5AR9NMsG-NYBlg
Expand Down
7 changes: 5 additions & 2 deletions contrib/raftexample/raft.go
Original file line number Diff line number Diff line change
Expand Up @@ -392,10 +392,13 @@ func (rc *raftNode) maybeTriggerSnapshot(applyDoneC <-chan struct{}) {
compactIndex = rc.appliedIndex - snapshotCatchUpEntriesN
}
if err := rc.raftStorage.Compact(compactIndex); err != nil {
panic(err)
if err != raft.ErrCompacted {
panic(err)
}
} else {
log.Printf("compacted log at index %d", compactIndex)
}

log.Printf("compacted log at index %d", compactIndex)
rc.snapshotIndex = rc.appliedIndex
}

Expand Down
4 changes: 4 additions & 0 deletions etcd.conf.yml.sample
Original file line number Diff line number Diff line change
Expand Up @@ -145,3 +145,7 @@ cipher-suites: [
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
]

# Limit etcd to specific TLS protocol versions
tls-min-version: 'TLS1.2'
tls-max-version: 'TLS1.3'
2 changes: 1 addition & 1 deletion etcdctl/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -1568,7 +1568,7 @@ CHECK provides commands for checking properties of the etcd cluster.

CHECK PERF checks the performance of the etcd cluster for 60 seconds. Running the `check perf` often can create a large keyspace history which can be auto compacted and defragmented using the `--auto-compact` and `--auto-defrag` options as described below.

Notice that different workload models use different configurations in terms of number of clients and throughtput. Here is the configuration for each load:
Notice that different workload models use different configurations in terms of number of clients and throughput. Here is the configuration for each load:


| Load | Number of clients | Number of put requests (requests/sec) |
Expand Down
10 changes: 5 additions & 5 deletions etcdutl/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ require (
github.com/beorn7/perks v1.0.1 // indirect
github.com/cespare/xxhash/v2 v2.2.0 // indirect
github.com/coreos/go-systemd/v22 v22.5.0 // indirect
github.com/go-logr/logr v1.2.3 // indirect
github.com/go-logr/logr v1.2.4 // indirect
github.com/go-logr/stdr v1.2.2 // indirect
github.com/gogo/protobuf v1.3.2 // indirect
github.com/golang-jwt/jwt/v4 v4.5.0 // indirect
Expand All @@ -57,10 +57,10 @@ require (
github.com/spf13/pflag v1.0.5 // indirect
github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2 // indirect
go.etcd.io/etcd/client/v2 v2.306.0-alpha.0 // indirect
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.37.0 // indirect
go.opentelemetry.io/otel v1.14.0 // indirect
go.opentelemetry.io/otel/metric v0.34.0 // indirect
go.opentelemetry.io/otel/trace v1.14.0 // indirect
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.42.0 // indirect
go.opentelemetry.io/otel v1.16.0 // indirect
go.opentelemetry.io/otel/metric v1.16.0 // indirect
go.opentelemetry.io/otel/trace v1.16.0 // indirect
go.uber.org/multierr v1.11.0 // indirect
golang.org/x/crypto v0.12.0 // indirect
golang.org/x/net v0.14.0 // indirect
Expand Down
Loading

0 comments on commit fbab162

Please sign in to comment.