|
![](/images/spacer.gif) |
![](/images/spacer.gif) |
![](/images/spacer.gif) |
Changelog for etcd-3.5.16-lp156.32.1.x86_64.rpm :
* Wed Oct 09 2024 Elisei Roca - Update to version 3.5.16: * Bump go toolchain to 1.22.7 * Introduce compaction sleep interval flag * Fix passing default grpc call options in Kubernetes client * Skip leadership check if the etcd instance is active processing heartbeats * Introduce Kubernetes KV interface to etcd client- Update to version 3.5.15: * Differentiate the warning message for rejected client and peer connections * Suppress noisy basic auth token deletion log * Support multiple values for allowed client and peer TLS identities(#18015) * print error log when validation on conf change failed- Update to version 3.5.14: * etcdutl: Fix snapshot restore memory alloc issue * server: Implement WithMmapSize option for backend config * gRPC health server sets serving status to NOT_SERVING on defrag * server/mvcc: introduce compactBeforeSetFinishedCompact failpoint * Update the compaction log when bootstrap and update compact\'s signature * add experimental-snapshot-catchup-entries flag. * Fix retry requests when receiving ErrGPRCNotSupportedForLearner- Update to version 3.5.13: * Fix progress notification for watch that doesn\'t get any events * pkg/types: Support Unix sockets in NewURLS * added dial-keepalive-time、dial-keepalive-timeout、permit-without-stream arguments to the grpc-proxy * server: fix comment to match function name * Make CGO_ENABLED configurable for etcd 3.5 * etcdserver: drain leaky goroutines before test completed * Mon Sep 02 2024 Wolfgang Frisch - vendor-update.sh: Fix static /tmp file issue (bsc#1199031) * Mon Mar 25 2024 Elisei Roca - Update to version 3.5.12: * version: bump up to 3.5.12 * Bump golang.org/x/crypto to v0.17+ to address CVE-2023-48795 * test: fix TestHashKVWhenCompacting: ensure all goroutine finished * print error log when creating peer listener failed * mvcc: Printing etcd backend database related metrics inside scheduleCompaction function * dependency: update go version to 1.20.13 * commit bbolt transaction if there is any pending deleting operations * add tests to test tx delete consistency. * Don\'t flock snapshot files * Backport adding digest for etcd base image. * Add a unit tests and missing flags in etcd help. * Add missing flag in etcd help. * Backport testutils.ExecuteUntil to 3.5 branch * member replace e2e test * Check if be is nil to avoid panic when be is overriden with nil by recoverSnapshotBackend on line 517 * Don\'t redeclare err and snapshot variable, fixing validation of consistent index and closing database on defer * test: enable gofail in release e2e test. * [3.5] backport health check e2e tests. * tests: Extract e2e cluster setup to separate package * Tue Feb 06 2024 Dominique Leuenberger - Drop go_provides macro: it is guarded by if suse_version <= 1110, yet has a negative impact on the general RPM dep/provides scanner (i.e user provides were not added).- Drop go_nostrip macro, as it does nothing useful. * Fri Jan 19 2024 Elisei Roca - Update to version 3.5.11: * version: bump up to 3.5.11 * etcdserver: add linearizable_read check to readyz. * etcd: Update go version to 1.20.12 * server: disable redirects in peer communication * etcdserver: add metric counters for livez/readyz health checks. * etcdserver: add livez and ready http endpoints for etcd. * http health check bug fixes * server: Split metrics and health code * server: Cover V3 health with tests * server: Refactor health checks * server: Run health check tests in subtests * server: Rename test case expect fields * server: Use named struct initialization in healthcheck test * Backport server: Don\'t follow redirects when checking peer urls. * Backport embed: Add tracing integration test. * Backport server: Have tracingExporter own resources it initialises. * Backport server: Add sampling rate to distributed tracing. * upgrade github.com/stretchr/testify,google.golang.org/genproto/googleapis/api,google.golang.org/grpc to make it consistent * CVE-2023-47108: Backport go.opentelemetry.io/otelAATTv1.20.0 and go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpcAATTv0.46.0 * github workflow: run arm64 tests on every push * etcd: upgrade go version from 1.20.10 to 1.20.11 * version: bump up to 3.5.10 * bump bbolt to 1.3.8 for etcd 3.5 * 3.5: upgrade gRPC-go to 1.58.3 * Backport corrupt check test fix \"etcd server shouldn\'t wait for the ready notification infinitely on startup\" * etcdserver: add cluster id check for hashKVHandler * [release-3.5]: upgrade gRPC-go to v1.52.0 * backport #14125 to release-3.5: Update to grpc-1.47 (and fix the connection-string format) * Return to default write scheduler since golang.org/x/netAATTv0.11.0 started using round robin * Bump go to v1.20.10 Part of https://github.com/etcd-io/etcd/issues/16740 * bump golang.org/x/net to 0.17.0 Part of https://github.com/etcd-io/etcd/issues/16740 * etcd: upgrade go version to 1.20.9 * Remove obsolete http 1.0 version. * fix:Ensure that go version is only defined in one file for release-3.5 * Fix panic in etcd validate secure endpoints * dependency: bump golang to 1.20.8 * Backport redirect metrics data into file to reduce output. * test.sh: increase timeout for grpcproxy test * test: add v3 curl test to cover maintenance hash/hashkv REST API * api: fix duplicate gateway url issue * pkg: add a verification on the pagebytes which must be > 0 * tests: Backport deflake for TestWatchDelay * tests: Backport deflake for TestPageWriterRandom * Backport adding unit test for socket options. * Backport export reuse-port and reuse-address * Fix goword failure in rafthttp/transport.go. * Backport update to golang 1.20 minor release. * bump go version to 1.19.12 * Update workflows to use makefile recipes for unit, integration & e2e-release. * Backport Makefile recipes for common test commands. * pkg/flags: fix UniqueURLs\'Set to remove duplicates in UniqueURLs\'uss * Backport fix to e2e release version identifcation. * Backport #14368 to v3.5 * Follow up https://github.com/etcd-io/etcd/pull/16068#discussion_r1263667496 * etcdserver: backport check scheduledCompactKeyName and finishedCompactKeyName before writing hash to release-3.5. * Backport #13577 Disable auth gracefully without impacting existing watchers. * bump go version to 1.19.11 to fix CVE GO-2023-1878 * clientv3: create keepAliveCtxCloser goroutine only if ctx can be canceled * [3.5] etcdutl: fix db double closed * clientv3: remove v3.WithFirstKey() in Barrier.Wait() * update etcdctl flag description for snapshot restores * etcdutl: update description for --mark-compacted and --bump-revision flags in snapshot restore command * Adding optional revision bump and mark compacted to snapshot restore * Revert \"Merge pull request #16119 from natusameer/release-3.5\" * Add e2e-arm64.yaml and tests-arm64.yaml to release-3.5 scheduled at 1.30 * Backport .github/workflows: Read .go-version as a step and not separate workflow. * Add first unit test for authApplierV3 * Early exit auth check on lease puts * remove stack log when etcdutl restore * etcdserver: fix corruption check when server has just been compacted * replace gobin with go install * [3.5] Backport updating go to latest patch release 1.19.10 * add compact hash check to help * Fix test of clientv3/naming * clientv3/naming/endpoints: fix endpoints prefix bug fixes bug with multiple endpoints with same prefix * grpcproxy: fix memberlist results not update when proxy node down * Thu May 25 2023 Elisei Roca - Update to version 3.5.9: * version: bump up to 3.5.9 * Move go version to dedicated .go-version file * tests: e2e and integration test for timetolive * etcdserver: protect lease timetilive with auth * Backport go update to latest patch release 1.19.9. * Backport centralising go version for actions workflows. * server: backport 15743, improved description of --initial-cluster-state flag * Wed Apr 26 2023 Elisei Roca - Update to version 3.5.8: * version: bump up to 3.5.8 * etcdserver: Guarantee order of requested progress notifications * etcdserver: verify field \'username\' and \'revision\' present when decoding a JWT token * set zap logging to wsproxy * security: remove password after authenticating the user * test: add an e2e test to reproduce https://nvd.nist.gov/vuln/detail/CVE-2021-28235 * bump golang to 1.19.8 * server/auth: disallow creating empty permission ranges * chore: enable strict mode for test CI * Fixes: #15266 All docker images of Architecture show amd64 * scripts: Add testing of etcd in local image in release workflow. * server: Fix defer function closure escape * tests: Test separate http port connection multiplexing * server: Add --listen-client-http-urls flag to allow running grpc server separate from http server * server: Pick one address that all grpc gateways connect to * server: Extract resolveUrl helper function * server: Separate client listener grouping from serving * refactor: Use proper variable names for urls * sever/auth: fix addUserWithNoOption of store_test * server/auth: fix auth panic bug when user changes password * Automated cherry-pick of #14860: Trigger release in current branch for github workflow case * server/embed: fix data race when start insecure grpc * server: Test watch restore * mvcc: update minRev when watcher stays synced * tests: Add v2 API to connection multiplexing test * tests: Add connection muiltiplexer testing * tests: Backport RunUtilCompletion * tests: Backport tls for etcdctl * tests: Extract e2e test utils * tests: Allow specifying http version in curl * tests: Refactor newClient args * tests: Refactor CURLPrefixArgs * Backport tls 1.3 support. * server: Switch back to random scheduler to improve resilience to watch starvation * test: Test etcd watch stream starvation under high read response load when sharing the same connection * tests: Allow configuring progress notify interval in e2e tests * Run go mod tidy * Updated go to 1.19.7. * Backport go_srcs_in_module changes and fix goword failures. * Formatted source code for go 1.19.6. * Bump to go 1.19.6 * Bump golang.org/x/net to v0.7.0 to address CVE GO-2023-1571. * test:enhance the test case TestV3WatchProgressOnMemberRestart * clientv3: correct the nextRev on receving progress notification response * etcdserver: add failpoints walBeforeSync and walAfterSync * Fix regression in timestamp resolution * upgrade cockroachdb/datadriven to v1.0.2 to remove archived dependencies * bump github.com/stretchr/testify to v1.8.1 * bump bbolt to v1.3.7 for release-3.5 * netutil: consistently format ipv6 addresses * docker: remove nsswitch.conf * Wed Jan 25 2023 Elisei Roca - Add -trimpath which removes specific build time paths from the binary- Add -w to strip DWARF symbols, not needed- Update to version 3.5.7: * version: bump up to 3.5.7 * etcdserver: return membership.ErrIDNotFound when the memberID not found * etcdserver: process the scenaro of the last WAL record being partially synced to disk * update nsswitch.conf for 3.5 * 3.5: remove the dependency on busybox * Remove dependency on gobin * resolve build error: parameter may not start with quote character \' * remove .travis.yml * format the source code and tidy the dependencies using go 1.17.13 * bump go version to 1.17.13 * deps: bump golang.org/x/net to v0.4.0 to address CVEs * security: use distroless base image to address critical Vulnerabilities * cidc: specify the correct branch name of release-3.5 in workflow for trivy nightly scan * Add trivy nightly scan for release-3.5 * clientv3: revert the client side change in 14547 * client/pkg/v3: fixes Solaris build of transport * etcdserver: fix nil pointer panic for readonly txn * Fix go fmt error * [3.5] Backport: non mutating requests pass through quotaKVServer when NOSPACE * etcdserver: intentionally set the memberID as 0 in corruption alarm- Update to version 3.5.6: * version: bump up to 3.5.6 * release: build with consistent paths * client/pkg/fileutil: add missing logger to {Create,Touch}DirAll * test: add test case to cover the CommonName based authentication * test: add certificate with root CommonName * clientv3: do not refresh token when using TLS CommonName based authentication * etcdserver: call the OnPreCommitUnsafe in unsafeCommit * add range flag for delete in etcdctl * server: add more context to panic message * fix:close conn * clientv3: fix the design & implementation of double barrier * test: added e2e test case for issue 14571: etcd doesn\'t load auth info when recovering from a snapshot * etcdserver: call refreshRangePermCache on Recover() in AuthStore. #14574 * server: add a unit test case for authStore.Reocver() with empty rangePermCache * Backport #14591 to 3.5. * client/v3: Add backoff before retry when watch stream returns unavailable * etcdserver: added more debug log for the purgeFile goroutine * netutil: make a `raw` URL comparison part of the urlsEqual function * Apply suggestions from code review * netutil: add url comparison without resolver to URLStringsEqual * tests/Dockerfile: Switch to ubuntu 22.04 base * Makefile: Additional logic fix * *: avoid closing a watch with ID 0 incorrectly * tests: a test case for watch with auth token expiration * *: handle auth invalid token and old revision errors in watch * server/etcdmain: add configurable cipher list to gRPC proxy listener * Replace github.com/form3tech-oss/jwt-go with https://github.com/golang-jwt/jwt/v4- Update to version 3.5.5: * version: bump up to 3.5.5 * fix the flaky test fix_TestV3AuthRestartMember_20220913 for 3.5 * etcdctl: fix move-leader for multiple endpoints * testing: fix TestOpenWithMaxIndex cleanup * server,test: refresh cache on each NewAuthStore * server/etcdmain: add build support for Apple M1 * tests: Fix member id in CORRUPT alarm * server: Make corrtuption check optional and period configurable * server: Implement compaction hash checking * tests: Cover periodic check in tests * server: Refactor compaction checker * tests: Move CorruptBBolt to testutil * tests: Rename corruptHash to CorruptBBolt * tests: Unify TestCompactionHash and extend it to also Delete keys and Defrag * tests: Add tests for HashByRev HTTP API * tests: Add integration tests for compact hash * server: Cache compaction hash for HashByRev API * server: Extract hasher to separate interface * server: Remove duplicated compaction revision * server: Return revision range that hash was calcualted for * server: Store real rv range in hasher * server: Move adjusting revision to hasher * server: Pass revision as int * server: Calculate hash during compaction * server: Fix range in mock not returning same number of keys and values * server: Move reading KV index inside scheduleCompaction function * server: Return error from scheduleCompaction * server: Refactor hasher * server: Extract kvHash struct * server: Move unsafeHashByRev to new hash.go file * server: Extract unsafeHashByRev function * server: Test HashByRev values to make sure they don\'t change * server: Cover corruptionMonitor with tests * server: Extract corruption detection to dedicated struct * server: Extract triggerCorruptAlarm to function * move consistent_index forward when executing alarmList operation * fix the potential data loss for clusters with only one member * [backport 3.5] server: don\'t panic in readonly serializable txn * Backport of pull/14354 to 3.5.5 * Refactor the keepAliveListener and keepAliveConn * clientv3: close streams after use in lessor keepAliveOnce method * Change default sampling rate from 100% to 0% * Fix the failure in TestEndpointSwitchResolvesViolation * update all related dependencies * move setupTracing into a separate file config_tracing.go * etcdserver: bump OpenTelemetry to 1.0.1 * Change default sampling rate from 100% to 0% * server/auth: protect rangePermCache with a RW lock * Improve error message for incorrect values of ETCD_CLIENT_DEBUG * add e2e test cases to cover the maxConcurrentStreams * Add flag `--max-concurrent-streams` to set the max concurrent stream each client can open at a time * add the uint32Value data type * Client: fix check for WithPrefix op * client/v3: do not overwrite authTokenBundle on dial * restrict the max size of each WAL entry to the remaining size of the file * Add FileReader and FileBufReader utilities * Backport two lease related bug fixes to 3.5 * scripts: Detect staged files before building release * scripts: Avoid additional repo clone * Make DRY_RUN explicit * scripts: Add tests for release scripts * server/auth: enable tokenProvider if recoved store enables auth * Update golang.org/x/crypto to latest * Mon Jul 18 2022 dmuellerAATTsuse.com- Update to version 3.5.4: * version: bump up to 3.5.4 * Update conssitent_index when applying fails * Add unit test for canonical SRV records * Revert \"trim the suffix dot from the srv.Target for etcd-client DNS lookup\" * Thu Apr 28 2022 Johannes Kastl - add variable ETCD_OPTIONS to both service unit and configuration file this allows the user to easily add things like \"--enable-v2=true\" * Wed Apr 20 2022 Elisei Roca - Update to version 3.5.3: https://github.com/etcd-io/etcd/compare/v3.5.2...v3.5.3 * clientv3: disable mirror auth test with proxy * cv3/mirror: Fetch the most recent prefix revision * set backend to cindex before recovering the lessor in applySnapshot * support linearizable renew lease * clientv3: filter learners members during autosync * etcdserver: upgrade the golang.org/x/crypto dependency * fix the data inconsistency issue by adding a txPostLockHook into the backend * server: Save consistency index and term to backend even when they decrease * server: Add verification of whether lock was called within out outside of apply * go.mod: Upgrade to prometheus/client_golang v1.11.1 * server: Use default logging configuration instead of zap production one * Fix offline defrag * backport 3.5: #13676 load all leases from backend * server/storage/backend: restore original bolt db options after defrag * always print raft term in decimal when displaying member list in json * enhance health check endpoint to support serializable request * trim the suffix dot from the srv.Target for etcd-client DNS lookup * Thu Mar 10 2022 Elisei Roca - Add vendor-update.sh as a source to pass obs-service-source_validator * Wed Mar 09 2022 Elisei Roca - Drop ETCD_UNSUPPORTED_ARCH=arm64 from sysconfig as ARM64 is now officially supported- Update go version to 1.16- Update etcd.conf variables- Add the new etcdutl into separate subpackage- Update vendor.tar.gz to include vendoring for server, etcdctl and etcdutl * see ./vendor-update.sh * Wed Feb 23 2022 Elisei Roca - Update to version 3.5.2: * version: bump up to 3.5.2 * Update dep: require gopkg.in/yaml.v2 v2.2.8 -> v2.4.0 due to: CVE-2019-11254. * fix runlock bug * server: Require either cluster version v3.6 or --experimental-enable-lease-checkpoint-persist to persist lease remainingTTL * etcdserver,integration: Store remaining TTL on checkpoint * lease,integration: add checkpoint scheduling after leader change * set the backend again after recovering v3 backend from snapshot * *: implement a retry logic for auth old revision in the client * client/v3: refresh the token when ErrUserEmpty is received while retrying * server/etcdserver/api/etcdhttp: exclude the same alarm type activated by multiple peers * storage/backend: Add a gauge to indicate if defrag is active (backport from 3.6)- Update to version 3.5.1: * version: 3.5.1 * Dockerfile: bump debian bullseye-20210927 * client: Use first endpoint as http2 authority header * tests: Add grpc authority e2e tests * client: Add grpc authority header integration tests * tests: Allow configuring integration tests to use TCP * test: Use unique number for grpc port * tests: Cleanup member interface by exposing Bridge directly * tests: Make using bridge optional * tests: Rename grpcAddr to grpcURL to imply that it includes schema * tests: Remove bridge dependency on unix * Decouple prefixArgs from os.Env dependency * server: Ensure that adding and removing members handle storev2 and backend out of sync * Stop using tip golang version in CI * fix self-signed-cert-validity parameter cannot be specified in the config file * fix health endpoint not usable when authentication is enabled * workflows: remove ARM64 job for maintenance- Update to version 3.5.0: * See link below, diff is too big https://github.com/etcd-io/etcd/compare/v3.4.16...v3.5.0 * Tue Sep 14 2021 Johannes Segitz - Added hardening to systemd service(s) (bsc#1181400). Modified: * etcd.service * Mon Aug 09 2021 Thorsten Kukuk - Don\'t require systemd (works without, too) * Sun Aug 08 2021 Callum Farmer - Change to sysuser-tools to create system user * Thu May 13 2021 alexandre.vicenziAATTsuse.com- Update to version 3.4.16: * version: 3.4.16 * Backport-3.4 exclude alarms from health check conditionally * etcdserver/mvcc: update trace.Step condition * Backport-3.4 etcdserver/util.go: reduce memory when logging range requests * .travis,Makefile,functional: Bump go 1.12 version to v1.12.17 * integration: Fix \'go test --tags cluster_proxy --timeout=30m -v ./integration/...\' * pkg/tlsutil: Adjust cipher suites for go 1.12 * Fix pkg/tlsutil (test) to not fail on 386. * bill-of-materials.json: Update golang.org/x/sys * .travis,test: Turn race off in Travis for go version 1.15 * integration : fix TestTLSClientCipherSuitesMismatch in go1.13 * vendor: Run go mod vendor * go.mod,go.sum: Bump github.com/creack/pty that includes patch * go.mod,go.sum: Comply with go v1.15 * etcdserver,wal: Convert int to string using rune() * integration,raft,tests: Comply with go v1.15 gofmt * .travis.yml: Test with go v1.15.11 * pkpkg/testutil/leak.go: Allowlist created by testing.runTests.func1 * vendor: Run go mod vendor * go.sum, go.mod: Run go mod tidy with go 1.12 * go.mod: Pin go to 1.12 version * etcdserver: fix incorrect metrics generated when clients cancel watches * integration: relax leader timeout from 3s to 4s * etcdserver: when using --unsafe-no-fsync write data * server: Added config parameter experimental-warning-apply-duration * etcdserver: Fix PeerURL validation * Fri Apr 16 2021 Dirk Müller - update etcd.service: avoid args from commandline and environment as it leads to start failure (bsc#1183703) * Wed Mar 03 2021 alexandre.vicenziAATTsuse.com- Update to version 3.4.15: * version: 3.4.15 * [Backport-3.4] etcdserver/api/etcdhttp: log successful etcd server side health check in debug level * etcdserver: Fix 64 KB websocket notification message limit * vendor: bump gorilla/websocket * pkg/fileutil: fix F_OFD_ constants * Fri Jan 08 2021 rbrownAATTsuse.com- Update to version 3.4.14: * version: 3.4.14 * pkg/netutil: remove unused \"iptables\" wrapper * tools/etcd-dump-metrics: validate exec cmd args * clientv3: get AuthToken automatically when clientConn is ready. * etcdserver: add ConfChangeAddLearnerNode to the list of config changes * integration: add flag WatchProgressNotifyInterval in integration test * Thu Sep 10 2020 rbrownAATTsuse.com- Update to version 3.4.13: * version: 3.4.13 * pkg: file stat warning * Automated cherry pick of #12243 on release 3.4 * version: 3.4.12 * etcdserver: Avoid panics logging slow v2 requests in integration tests * version: 3.4.11 * Revert \"etcdserver/api/v3rpc: \"MemberList\" never return non-empty ClientURLs\" * *: fix backport of PR12216 * *: add experimental flag for watch notify interval * clientv3: remove excessive watch cancel logging * etcdserver: add OS level FD metrics * pkg/runtime: optimize FDUsage by removing sort * clientv3: log warning in case of error sending request * etcdserver/api/v3rpc: \"MemberList\" never return non-empty ClientURLs * Thu Aug 06 2020 rbrownAATTsuse.com- Update to version 3.4.10 [CVE-2020-15106][boo#1174951]: * version: 3.4.10 * Documentation: note on data encryption * etcdserver: change protobuf field type from int to int64 (#12000) * pkg: consider umask when use MkdirAll * etcdmain: let grpc proxy warn about insecure-skip-tls-verify * etcdmain: fix shadow error * pkg/fileutil: print desired file permission in error log * pkg: Fix dir permission check on Windows * auth: Customize simpleTokenTTL settings. * mvcc: chanLen 1024 is to biger,and it used more memory. 128 seems to be enough. Sometimes the consumption speed is more than the production speed. * auth: return incorrect result \'ErrUserNotFound\' when client request without username or username was empty. * etcdmain: fix shadow error * doc: add TLS related warnings * etcdserver:FDUsage set ticker to 10 minute from 5 seconds. This ticker will check File Descriptor Requirements ,and count all fds in used. And recorded some logs when in used >= limit/5 *4. Just recorded message. If fds was more than 10K,It\'s low performance due to FDUsage() works. So need to increase it. * clientv3: cancel watches proactively on client context cancellation * wal: check out of range slice in \"ReadAll\", \"decoder\" * etcdctl, etcdmain: warn about --insecure-skip-tls-verify options * Documentation: note on the policy of insecure by default * etcdserver: don\'t let InternalAuthenticateRequest have password * auth: a new error code for the case of password auth against no password user * Documentation: note on password strength * etcdmain: best effort detection of self pointing in tcp proxy * Discovery: do not allow passing negative cluster size * wal: fix panic when decoder not set * embed: fix compaction runtime err * pkg: check file stats * etcdserver, et al: add --unsafe-no-fsync flag * version: 3.4.9 * wal: add TestValidSnapshotEntriesAfterPurgeWal testcase * wal: fix crc mismatch crash bug * rafthttp: log snapshot download duration * version: 3.4.8 * rafthttp: improve snapshot send logging * *: make sure snapshot save downloads SHA256 checksum * etcdserver/api/snap: exclude orphaned defragmentation files in snapNames * etcdserver: continue releasing snap db in case of error * etcdserver,wal: fix inconsistencies in WAL and snapshot * cherry pick of #11564 (#11880) * mvcc: fix deadlock bug * auth: optimize lock scope for CheckPassword * auth: ensure RoleGrantPermission is compatible with older versions * etcdserver: print warn log when failed to apply request * auth: cleanup saveConsistentIndex in NewAuthStore * auth: print warning log when error is ErrAuthOldRevision * auth: add new metric \'etcd_debugging_auth_revision\' * tools/etcd-dump-db: add auth decoder, optimize print format * *: fix auth revision corruption bug * etcdserver: watch stream got closed once one request is not permitted (#11708) * version: 3.4.7 * wal: add \"etcd_wal_writes_bytes_total\" * pkg/ioutil: add \"FlushN\" * test: auto detect branch when finding merge base * mvcc/kvstore:when the number key-value is greater than one million, compact take too long and blocks other requests * version: 3.4.6 * lease: fix memory leak in LeaseGrant when node is follower * version: 3.4.5 * words: whitelist \"racey\" * Revert \"version: 3.4.5\" * words: whitelist \"hasleader\" * version: 3.4.5 * etcdserver/api/v3rpc: handle api version metadata, add metrics * clientv3: embed api version in metadata * etcdserver/api/etcdhttp: log server-side /health checks * proxy/grpcproxy: add return on error for metrics handler * etcdctl: fix member add command * version: 3.4.4 * etcdserver: fix quorum calculation when promoting a learner member * etcdserver: corruption check via http * mvcc/backend: check for nil boltOpenOptions * mvcc/backend: Delete orphaned db.tmp files before defrag * auth: correct logging level * e2e: test curl auth on onoption user * auth: fix NoPassWord check when add user * auth: fix user.Options nil pointer * mvcc/kvstore:fixcompactbug * mvcc: update to \"etcd_debugging_mvcc_total_put_size_in_bytes\" * mvcc: add \"etcd_mvcc_put_size_in_bytes\" to monitor the throughput of put request. * clientv3: fix retry/streamer error message * etcdserver: wait purge file loop during shutdown * integration: disable TestV3AuthOldRevConcurrent * etcdserver: remove auth validation loop * scripts/release: list GPG key only when tagging is needed * Sun Jun 07 2020 Dirk Mueller - update home-page url * Thu Feb 06 2020 Michal Jura - Update to version 3.4.3: * version: 3.4.3 * *: use Go 1.12.12 * rafthttp: add 3.4 stream type * etcdserver: strip patch version in metrics * etcdserver: strip patch version in cluster version * etcdserver: unset old cluster version in metrics * Add version, tag and branch checks to release script * scripts: fix read failure prompt in release; use https for git clone. * version: 3.4.2 * etcdserver: trace compaction request; add return parameter \'trace\' to applierV3.Compaction() mvcc: trace compaction request; add input parameter \'trace\' to KV.Compact() * etcdserver: trace raft requests. * etcdserver: add put request steps. mvcc: add put request steps; add trace to KV.Write() as input parameter. * pkg: use zap logger to format the structure log output. * pkg: add field to record additional detail of trace; add stepThreshold to reduce log volume. * pkg: create package traceutil for tracing. mvcc: add tracing steps:range from the in-memory index tree; range from boltdb. etcdserver: add tracing steps: agreement among raft nodes before linerized reading; authentication; filter and sort kv pairs; assemble the response. * clientv3: Replace endpoint.ParseHostPort with net.SplitHostPort to fix IPv6 client endpoints * clientv3: Set authority used in cert checks to host of endpoint * tests/e2e: fix metrics tests * etcdctl: fix member add command * scripts/build-binary: fix darwin tar commands * scripts/release: fix SHA256SUMS command * version: 3.4.1 * scripts/release: fix docker push command * integration: fix bug in for loop, make it break properly * embed: expose ZapLoggerBuilder * vendor: upgrade to gRPC v1.23.1 * Thu Oct 10 2019 rbrownAATTsuse.com- Update to version 3.3.15: * version: 3.3.15 * vendor: regenerate * go.mod: remove, change back to \"glide\" * version: 3.3.14 * Documentation/upgrades: special upgrade guides for >= 3.3.14 * version: 3.3.14-rc.0 * vendor: regenerate * go.mod: regenerate * gitignore: track vendor directory * *: test with Go 1.12.9 * version: 3.3.14-beta.0 * tests/e2e: add missing curl * e2e: move * test: do not run \"v2store\" tests * test: bump up timeout for e2e tests * travis: fix functional tests * functional: add back, travis * auth: fix tests * travis: do not run functional for now * travis: skip windows build * test: fix repo path * tests/e2e: fix * build: remove tools * integration: fix tests * integration: fix \"HashKVRequest\" * functional: update * travis.yml: fix, run e2e * integration: update * etcdserver: detect leader change on reads * clientv3: rewrite based on 3.4 * raft: fix compile error in \"Panic\" * pkg/ *: add * etcdserver/api/v3rpc: support watch fragmentation * tests: update * *: regenerate proto * etcdserver/etcdserverpb/rpc.proto: add watch progress/fragment * vendor: regenerate, upgrade gRPC to 1.23.0 * go.mod: migrate to Go module * scripts: update release, genproto, dep * Makefile/build: sync with 3.4 branch * *: use new adt.IntervalTree interface * pkg/adt: remove TODO * pkg/adt: fix interval tree black-height property based on rbtree * pkg/adt: document textbook implementation with pseudo-code * pkg/adt: mask test failure, add TODO * pkg/adt: add \"IntervalTree.Delete\" failure case * pkg/adt: test node \"11\" deletion * pkg/adt: README \"IntervalTree.Delete\" test case images * pkg/adt: README initial commit * pkg/adt: add \"visitLevel\", make \"IntervalTree\" interface, more tests * pkg: clean up code format * travis: update * etcdserver: add \"etcd_server_snapshot_apply_inflights_total\" * etcdserver/api: add \"etcd_network_snapshot_send_inflights_total\", \"etcd_network_snapshot_receive_inflights_total\" * Raft HTTP: fix pause/resume race condition * ctlv3: add missing newline in EndpointHealth * ctlv3: support \"write-out\" for \"endpoint health\" command * etcd: Replace ghodss/yaml with sigs.k8s.io/yaml * version: bump up 3.3.13 * clientv3: fix race condition in \"Endpoints\" methods * etcdserver: improve heartbeat send failures logging * Documentation metadata for 3.3 branch (#10692) * vendor: add missing files * vendor: Run scripts/updatedeps.sh to cleanup unused code * client: Switch to case sensitive unmarshalling to be compatible with ugorji * *: update bill-of-materials * vendor: Add json-iterator and its dependencies * scripts: Remove generated code and script * client: Replace ugorji/codec with json-iterator/go * mvcc: fix db_compaction_total_duration_milliseconds * wal: Add test for Verify * wal: add Verify function to perform corruption check on wal contents * *: Change gRPC proxy to expose etcd server endpoint /metrics * travis: fix tests by using proper code path * etcdserver: Use panic instead of fatal on no space left error * raft: cherry pick of #8334 to release-3.3 * travis.yml: update Go 1.10.8 * version: 3.3.12 * etcdctl: fix strings.HasPrefix args order * version: 3.3.11+git * Wed Jul 24 2019 matthias.gerstnerAATTsuse.com- removal of SuSEfirewall2 service, since SuSEfirewall2 has been replaced by firewalld, see [1]. [1]: https://lists.opensuse.org/opensuse-factory/2019-01/msg00490.html * Thu Jun 13 2019 Guillaume GARDET - Fix aarch64 start * Wed Jun 05 2019 - Added README.security and wording in the configuration file to ensure users are aware that they need to configure etcd to require authentication * Wed Jan 30 2019 Panagiotis Georgiadis pgeorgiadisAATTsuse.com- Update to version 3.3.11: * version: 3.3.11 * auth: fix cherry-pick * auth: disable CommonName auth for gRPC-gateway * grpcproxy: fix memory leak * bsc#1121850 CVE-2018-16886 * Wed Dec 19 2018 cleeAATTsuse.com- Updated to a supported version of Go (due to security reasons) * bsc#1118897 CVE-2018-16873 go#29230 cmd/go: remote command execution during \"go get -u\" * bsc#1118898 CVE-2018-16874 go#29231 cmd/go: directory traversal in \"go get\" via curly braces in import paths * bsc#1118899 CVE-2018-16875 go#29233 crypto/x509: CPU denial of service * Wed Dec 12 2018 alvaro.saurinAATTsuse.com- Updated to a supported version of Go (due to security reasons) * Mon Nov 12 2018 opensuse-packagingAATTopensuse.org- Update to version 3.3.10: * version: 3.3.10 * travis.yml: use Go 1.10.4 * etcdserver: add \"etcd_server_read_indexes_failed_total\" * rafthttp: probe all raft transports * etcdserver: add \"etcd_server_health_success/failures\" * clientv3: concurrency.Mutex.Lock() - preserve invariant * etcdserver/api/rafthttp: add v3 snapshot send/receive metrics * etcdserver/api/snap: add v3 snapshot fsync metrics * tests/Dockerfile: update, fix GOPATH * etcdctl: cherry pick of #10109 to release-3.3 * etcdserver: remove duplicated imports * etcdserver: add \"etcd_server_id\" * etcdserver: clarify read index wait timeout warnings * rafthttp: clarify \"became inactive\" warning * Merge pull request #9861 from gyuho/race * etcdserver: code clean up * vendor: add go-grpc-middleware * etcdserver: add grpc interceptor to log info on incoming requests to etcd server * version: bump up to 3.3.9+git * version: 3.3.9 * etcdserver: add \"etcd_server_go_version\" metric * clientv3: fix keepalive send interval when response queue is full * added \"now := time.Now()\" * remove \"github.com/gogo/protobuf/plugin/stringer\" * etcdserver: rename to \"heartbeat_send_failures_total\" * mvcc: add \"etcd_mvcc_hash_(rev)_duration_seconds\" * mvcc/backend: fix defrag duration scale * mvcc/backend: add \"etcd_disk_backend_defrag_duration_seconds\" * mvcc/backend: document metrics ExponentialBuckets * mvcc/backend: clean up mutex, logging * etcdserver: add \"etcd_server_slow_apply_total\" * etcdserver: add \"etcd_server_heartbeat_failures_total\" * e2e: log errors TestV3CurlCipherSuitesMismatch for now * Makefile: use Go 1.10.3 by default * *: use Go 1.10.3 for testing * mvcc: avoid unnecessary metrics update * mvcc: add \"etcd_mvcc_db_total_size_in_use_in_bytes\" * mvcc: add \"etcd_mvcc_db_total_size_in_bytes\" * etcdserver: add \"etcd_server_quota_backend_bytes\" * etcdserver: add \"etcd_server_slow_read_indexes_total\" * etcdserver: clarify read index warnings * tests: update test scripts * version: 3.3.8+git * version: 3.3.8 * travis: use Go 1.9.7 * gitignore: ignore \"docs\" and \"vendor\" * clientv3: backoff on reestablishing watches when Unavailable errors are encountered * tests/semaphore.test.bash: update * Makefile: update * etcdserver: Fix txn request \'took too long\' warnings to use loggable request stringer * etcdserver: Add response byte size and range response count to took too long warning * etcdserver: Replace value contents with value_size in request took too long warning * version: bump up to 3.3.7+git * version: 3.3.7 * e2e: test client-side cipher suites with curl * etcdmain: add \"--cipher-suites\" flag * embed: support custom cipher suites * integration: test client-side TLS cipher suites * pkg/transport: add \"TLSInfo.CipherSuites\" field * pkg/tlsutil: add \"GetCipherSuite\" * tests/e2e: test move-leader command with TLS * ctlv3: support TLS endpoints for move-leader command * scripts/release: Fix docker push for 3.1 releases, remove inaccurate warning at the end of release script * version: bump up to 3.3.6+git * version: 3.3.6 * mvcc: fix panic by allowing future revision watcher from restore operation * auth: fix panic using WithRoot and improve JWT coverage * auth: a new auth token provider nop * scripts: Fix remote tag check, gcloud login and umask in release script * version: 3.3.5+git * version: 3.3.5 * tests/e2e: separate coverage tests for exec commands * etcdctl/ctlv3: fix watch with exec commands * tests: use Go 1.9.6 * functional/tester: handle retries in \"caseUntilSnapshot\" * functional.yaml: use lower ports * scripts: Fix a few etcd release script bugs and make it reenterant. * etcdmain: document peer-cert-allowed-cn flag * version: 3.3.4+git * version: 3.3.4 * scripts: Add scripts/release that performs \'etcd-release-runbook\' (https://goo.gl/Gxwysq) style release workflow * etcdserver: log skipping initial election tick * etcdmain: add \"--initial-election-tick-advance\" * embed: add \"InitialElectionTickAdvance\" * integration: set InitialElectionTickAdvance to true by default * etcdserver: add \"InitialElectionTickAdvance\" * etcdserver: add is_leader prometheus metric that is 1 on the leader. * integration: re-overwrite \"httptest.Server\" TLS.Certificates * pkg/transport: don\'t set certificates on tls config * functional: create symlinks for build * travis: run build tests for \"functional\" * snapshot: remove tests * functional: initial commit (copied from master) * snapshot: initial commit (for functional tests) * test: simplify * etcdserver/stats: make all fields guarded by mutex. * etcdserver/stats: fix stats data race. * test: remove build flag \"-a\" * cmd/vendor: add \"go.uber.org/zap\" * pkg/proxy: move from \"pkg/transport\" * tools: remove * travis: update * test/ *: clean up semaphore scripts * etcdserver: fix \"lease_expired_total\" metrics * tests: move test scripts * semaphore.sh: update Go version * travis: use Go 1.9.5 * version: 3.3.3+git * version: 3.3.3 * Documentation/upgrades: backport all upgrade guides * compactor: simplify interval logic on periodic compactor * compactor: adjust interval for period <1-hour * compactor: clean up * rafthttp: add missing \"peer_sent_failures_total\" metrics call * etcdserver: adjust election ticks on restart * etcdserver: make \"advanceTicks\" method * rafthttp: add \"ActivePeers\" to \"Transport\" * version: 3.3.2+git * version: 3.3.2 * clientv3/integration: test \"rpctypes.ErrLeaseTTLTooLarge\" * *: enforce max lease TTL with 9,000,000,000 seconds * *: remove unused env vars * hack/scripts-dev: fix indentation in run.sh * hack/scripts-dev: sync with master branch * travis: update Go version string * e2e: fix missing \"apiPrefix\" * embed: fix wrong compactor imports * Documentation/op-guide: highlight defrag operation \"--endpoints\" flag * etcdctl: highlight \"defrag\" command caveats * e2e: add \"Election\" grpc-gateway test cases * e2e: add \"spawnWithExpectLines\" * api/v3election: error on missing \"leader\" field * Documentation: make \"Consul\" section more objective * etcdserver: enable \"CheckQuorum\" when starting with \"ForceNewCluster\" * httpproxy: cancel requests when client closes a connection * semaphore: release test version * embed: fix revision-based compaction with default value * embed: document/validate compaction mode * version: 3.3.1+git * Tue Jun 05 2018 dcassanyAATTsuse.com- Make use of %license macro * Wed May 30 2018 jmassaguerplaAATTsuse.com- Fix go 1.9.4 requirements. We had also \"BuildRequires: go >= 1.9.4\" and this was pulling go 1.10, too. (bsc#1095184) * Wed Feb 28 2018 jmassaguerplaAATTsuse.com- Build require go 1.9.4 or newer, since etcd has been tested and built on that. See previous changelog. fix#go_requirement (bsc#1095184). * Thu Feb 22 2018 opensuse-packagingAATTopensuse.org- Update to version 3.3.1 (bsc#1095184): * gitignore: add \".Dockerfile-functional-tester\" * Dockerfile-functional-tester: initial commit * tools/functional-tester: update README for local docker testing * hack: sync with etcd master * mvcc: restore unsynced watchers * etcdserver: improve request took too long warning * semaphore: use Go 1.9.4, update release upgrade test version * travis: use Go 1.9.4 with TARGET_GO_VERSION * hack/scripts-dev: Makefile with Go 1.9.4, 1.8.7 * version: 3.3.1 Needed by feature#node_removal * Thu Feb 01 2018 roAATTsuse.de- do not build on s390, only on s390x (no go on s390) * Thu Nov 23 2017 rbrownAATTsuse.com- Replace references to /var/adm/fillup-templates with new %_fillupdir macro (boo#1069468) * Wed Aug 30 2017 vrothbergAATTsuse.com- transform etcd.service file from dos to unix * Fri Aug 11 2017 kiallAATTmacinnes.ie- Require golang 1.8, as using earlier versions will fail to build * Thu Aug 03 2017 vrothbergAATTsuse.com- Fix bsc#1046717: set (io)nice value in service file * Thu Jul 27 2017 opensuse-packagingAATTopensuse.org- Update to version 3.2.4: * improve example run commands in docker_guide * improve documentation regarding docker cluster * version: bump to v3.2.0+git * etcdserver/api: add 3.2 in capability * rafthttp: add 3.2.0 stream type * *: \'ignore_value\' to detach lease with PutRequest * *: regenerate proto files with \'ignore_value\' * v3rpc: error for non-empty value with ignore_value * etcdserver: use prev-value for ignore_value writes * integration: test Put,Txn with ignore_value flag * clientv3: add \'WithIgnoreValue\' option * ctlv3: add \'--ignore-value\' flag to \'put\' command * e2e: test put command with \'--ignore-value\' flag * grpcproxy: handle \'IgnoreValue\' field in PutRequest * etcdserver: increase snapshot to 100,000 * auth, etcdserver: let maintenance services require root role * e2e: add cases for defrag and snapshot with authentication * etcd-tester: use 10K for \'--snapshot-count\' * kv.go: Fixed []byte to string conversion syntax in comment * pkg/transport: Obey the usual laws of ssl when using a private PKI * ctlv3: print cluster info after adding new member * clientv3: balancer uses one connection at a time * pkg/report: add nil checking for getTimeSeries * Documentation: document upgrading to v3.1 * etcdserver: use ReqTimeout for linearized read * clientv3/txn.go : removed the TODO: add a Do for shortcut the txn without any condition * test: passed the test script arguments as the test function parameters * glide: update \'golang.org/x/net\' * vendor: update \'golang.org/x/net\' * grpcproxy, etcdmain, integration: add close channel to kv proxy * Polish note about varying parameters for each member * store: set Dir attribute, when node expired * Documentation: update experimental_apis for v3.1 release * Documentation: fix typo s/endpoint-health/endpoint health/ * NEWS: fix date for v3.1 release * clientv3/concurrency: fix rev comparison on concurrent key deletion * embed/etcd.go: make v2 endpoint optional. fixes #7100 * integration: test STM apply on concurrent deletion * pkg/flags: fixed prefix checking of the env variables * pkg/cpuutil: add cpuutil * etcdctlv3: snapshot restore works with lease key * pkg/netutil: use native byte ordering for route information * documentation: update build documentation * op-guide: change grpc-proxy from \'pre\' to alpha\' * README: remove ACI, update Go version * roadmap: update roadmap * etcdmain: add gateway and grpc-proxy commands to etcd help * etcdserverpb: rework documentation for range request * concurrency: variadic stm options * concurrency: extend STM interface to Get from any of a list of keys * concurrency: STM WithPrefetch option * concurrency: STM snapshot isolation level * benchmark: update for new stm interface * integration: fix STM tests to compile against new interface * Documentation: Add upgrade gotchas/further info for better search visibility * embed: support user defined grpc services. * doc: mention HTTP JSON in doc link * embed: add example for ServiceRegister. * contrib/recipes/key.go : fixed method comment * client: add GetVersion method * tools: add rust-etcd to the list of libraries. * vendor: update tablewritier * ctlv3: right-align the table output * *: \'ignore_lease\' to detach value with PutRequest * *: regenrate proto files with \'ignore_lease\' * v3rpc: error for non empty lease with \'ignore_lease\' * etcdserver: use prev-lease for \'ignore_lease\' writes * integration: put,txn with \'ignore_lease\' flag * clientv3: add WithIgnoreLease option * ctlv3: add \'--ignore-lease\' flag to put command * e2e: test put command with \'--ignore-lease\' flag * grpcproxy: handle \'IgnoreLease\' field in PutRequest * .gitignore: Adding .idea to .gitignore * Documentation: C library added * Documentation: Deleted non-existing project from libraries-and-tools.md * clientv3: test closing client cancels blocking dials * clientv3: use DialContext * auth: refactor test to use common setup * test: bump e2e timeout to 15 minutes * auth: Adding unit tests * integration: test domain name URLs are rejected before binding * embed: reject binding listeners to domain names * clientv3: fix balancer update address bug * test: fix failure message in TestEmbedEtcd * integration: add test case in dial_test to ensure balancer.updateAddrs works properly * e2e: do not remove the member we connect to * contrib: add etcd cluster deploy on systemd docs * etcdmain: ppc64le platform support * clientv3: start a session with existing lease * auth, etcdserver: authenticate clients based on certificate CommonName * e2e: add a case for CommonName auth of v3 API * netutil: add dualstack to linux_route * auth: unit-test for authStore.AuthDisable() * auth: test for AuthStore.IsAdminPermitted * scripts: Add support to build ppc64le binary for release * rafthttp: use http.Request.WithContext instead of Cancel * clientv3: remove strict yaml dependency * test: clientv3 integration tests with proxy * *: Use http.Request.WithContext instead of Cancel * grpcproxy: don\'t use WithRequireLeader for watch event stream * pkg/netutil: name GetDefaultInterfaces consistent * clientv3: add DialOptions to config * clientv3: sends keepalive reqs immediately after lease keep alive stream reset * pkg/report: add min/max latency per second * auth: add a test case for recoverying from snapshot * auth: correct initialization in NewAuthStore() * clientv3: only start lease stream after first keepalive call * clientv3: remove cancelWhenStop from lease implementation * clientv3/integration: stop member before keepalive in TestLeaseKeepAliveInitTimeout * clientv3: uses direct client calls in integration tests * test: Fix gosimple errors * travis: Update fmt check gotools * Documentation: replace px typo with ps * Revert \"Merge pull request #7139 from heyitsanthony/proxy-rlock\" * grpcproxy: support CountOnly * v3rpc: LeaseTimeToLive returns TTL=-1 resp on lease not found * clientv3/integration: test lease not found on TimeToLive() * integration: don\'t expect lease not found error for TestV3GetNonExistLease * raft: add Ready.MustSync * etcdserverpb, clientv3: clarify WithLimit documentation * grpcproxy: respect CompactRevision in watcher * auth: simplify merging range perm * travis: disable email notifications * op-guide: fix remove instructions in runtime-configuration and conform to style * clientv3: KeepAliveOnce returns ErrLeaseNotFound if TTL <= 0 * grpcproxy: split out leadership detection code * grpcproxy: don\'t wait for ctx.Done() to close kv donec * integration: wait five elections before creating watch for require leader test * e2e: modify e2e to run code coverage * etcdmain: whitelist etcd binary flags * grpcproxy: support forcing leader as available * Documentation/libraries-and-tools: add vitess * clientv3: fix lease keepalive duration * grpcproxy: refactor chan stream out of watch_client_adapter * grpcproxy: add lease coalescing support * grpcproxy: incorporate lease proxy into existing proxy framework * clientv3: fix lease keepalive duration * raft: fix read index request for #7331 * clientv3: let user provide a client context through Config * clientv3: add cluster version checking * integration: test RejectOldCluster * test: add e2e to coverage test * *: add and expose StopSignal field in ExpectProcess * e2e: unshadow err and remove bogus err checking in spawnWithExpects() * pkg/transport: remove dependency on pkg/fileutils * raft: revise test case and fix typo * op-guide: use host volume in Docker command * clientv3: fix typo in README * grpcproxy: only return ctx error in chan stream if recvc is empty * tcpproxy: don\'t use range variable in reactivate goroutine * clientv3: do not set next keepalive time <= now+TTL * integration: test keepalives for short TTLs * auth: keep old revision in \'NewAuthStore\' * integration: add \'TestV3HashRestart\' * netutil: use ipv4 host by default * integration: permit background watch streams in TestWatchCancelOnServer * grpcproxy: add \'register\' address * MAINTAINERS: add Fanmin * travis: use Go 1.8 in master branch * NEWS: add v3.1.2 release notes * *: remove trailing space, upgrade test on v3.1 * e2e: fix -tags cov builds * clientv3: use any port for metrics example * etcdmain: enable grpc tracing with --debug * embed: enable debug endpoint if Debug is set and add net.trace events * Documentation: add documentation for grpc lease stream coalescing * script: Build docker image for ppc64le * integration: ensure leader is up in waitLeader() and clusterMustProgress() * etcdctl: modify etcdctl v2 and v3 for code coverage * e2e: add etcdctl to e2e test * test: build test binary for etcdctl * etcdctl: show warning if ETCDCTL_API is not set in v2 --help * clientv3: bump example requestTimeout for slow CI * op-guide: add notes on mounting certs directory * grpcproxy: return closing error when stream is canceled from conn close * raft: make TestNodeTick reliable * test: run unused and gosimple over all packages at once * Documentation/op-guide: use exact certs dir for Container Linux * Documentation: suggest ionice for disk tuning * api: default to V3 capability * integration: don\'t set v3 capability since now default * etcdctl: correctly batch revisions in make-mirror * libraries-and-tools: rename to integrations * production-users: add Kubernetes * etcd-tester: check expired lease with -1 TTL * embed: use machine default host only for default value, 0.0.0.0 * etcdmain: log machine default host after update check * clientv3: Add KeyExists and KeyNotExists Cmp helpers * etcdctl: Fix migrate example in README.md * contrib: suppress gosimple errors of raftexample * test: eschew you * clientv3: pass back dial error on dial timeout * *: eschew you from documentation * vendor: lock down some soft dependencies * test: run \'staticcheck\' * *: remove never-unused vars, minor lint fix * Documentation: add PD to production users * vendor: import jwt-go for auth v3 * *: support jwt token in v3 auth API * Documentation: add qingcloud to production user * doc: add usecase of qiniu * Documentation: add production user * doc: update use case of qiniu * Documentation: Add Tencent Games to production users * Documentation: warn membership change while migration * doc: Add hyper.sh to production users * doc: Add use case in Meitu Inc. * gateway: fix the dns discovery method * lease: guard \'Lease.itemSet\' from concurrent writes * Documentation: sign source zip files * clientv3: close balancer to avoid goroutine leak in balancer_test.go * e2e: don\'t remove member used to connect to etcd cluster * Documentation: add Grab etcd use case * *: fix minor typos * backend: readtx * mvcc: txns and r/w views * lease: support mvcc txn * etcdserver: support mvcc txn * benchmark: support mvcc txn * etcdctl: support mvcc txn * doc: Add daocloud.io to production users * test: install packages when building coverage tests * clientv3util: Add KeyExists and KeyMissing examples * clientv3: define error type for closed watcher * grpcproxy: configure register to Cluster API * etcdmain: add register,resolver flags * Documentation/op-guide: document grpcproxy sync * etcdmain: SdNotify when gateway, grpc-proxy are ready * clientv3: serialize updating notifych in balancer * clientv3: send frst down() func after recieving first notified addr * Documentation: add huawei product user * doc: add Baidu Waimai * doc: fix title size * NEWS: update v3.1.3 * doc: add branch.io use case into production users * auth: nil check AuthInfo when checking admin permissions * testutil: add CheckAfterTest for calling AfterTest without a testing.T * clientv3: use CheckAfterTest after terminating cluster * op-guide: update gateway routing policy * discovery: fix print format * Documentation: add txaio-etcd to integrations * doc/learning: complete the api guide * adapter, integration: split out grpc adapters from grpcproxy package * clientv3: permit creating client without grpc connection * concurrency: support returning response header for mutex * v3client: a bridge between an etcdserver and a clientv3 * v3lock: server-side api for locking * scripts: generate lock service rpc stubs * embed: serve lock api * integration: test grpc lock service * Update example_key_test.go * auth: get rid of deadlocking channel passing scheme in simpleTokenTTL * auth: test concurrent authentication * test: add coverage for more packages * v3client: add example and godoc New * integration: add TestMutexWaitsOnCurrentHolder test * test: mask go1.8 gosimple warnings * etcdserver: candidate should wait for applying all configuration changes * clientv3: close open watch channel if substream is closing on reconnect * clientv3: synchronize on goroutines in TestBalancerDoNotBlockOnClose * ctlv3: ensure synced member list before printing env vars on member add * v3client: fix doc to use e.Server * clientv3: update eps if pinAddr is not included in updateAddrs * etcdserver: remove possibly compacted entry look-up * wal: use path/filepath instead of path * embed: Clear default initial cluster * *: use filepath.Join for files * embed: don\'t return error when closing on embed etcd * *: base initial mmap size on quota size * etcdserver, backend: only warn if exceeding max quota * e2e: force endpoint for member removal * ctlv3: have \"protobuf\" in output help string instead of \"proto\" * *: fix gosimple warning for fmt.Sprintf(\"%s\") * *: use \'io.Seek *\' for go1.7+ * etcdserver: remove legacy range/txn * Dockerfile-release: add nsswitch.conf into image * e2e, etcdserver: fix wrong usages of ordinal * backend: add FillPercent option * etcdmain: handle StopNotify when ErrStopped aborted publish * integration: ensure \'StopNotify\' on publish error * travis: always \'go get -u\' in \'before_install\' * clientv3: wait for Get goroutine in TestDialCancel * client/integration: use only digits in unix port * Documentation: add a doc of v3 auth * clientv3: remove redundant error handling code * integration: wait on leader before progress check in TestRestartMember * clientv3: make ops and compares non-opaque and mutable * namespace: a wrapper for clientv3 to namespace requests * etcd-2-1-0-bench: Fix an absolute bare link to resource outside of Documentation dir * clientv3/integration: simple namespace wrapper tests * integration: test namespacing on proxy layer * etcdmain: add prefixing support to grpc proxy * Documentation, op-guide, clientv3: add documentation for namespacing * clientv3: use waitgroup to wait for substream goroutine teardown * adt: Visit() interval trees in sorted order and terminate early * *: revoke a deleted role * e2e: add a test case role delete and revoke * auth, etcdserver: forbid invalid auth management * e2e: add a test case for invalid management of root user and role * Documentation: add Prometheus alerting rules * mvcc/backend: hold \'readTx.Lock\' until completing bolt.Tx reset * integration: test inflight range requests while defragmenting * tools/etcd-tester: add timeout for \'defrag\' * Documentation: add salesforce to prod users * integration: retry TestNetworkPartition5MembersLeaderInMajority * auth: store cached permission information in a form of interval tree * test: add proxy to coverage tests * etcdserver: fix a typo in bucket name var * raft: use rs.req.Entries[0].Data as the key for deletion in advance() * op-guide: Remove guest role from v3 auth doc * integration: add serialized range to TestV3CompactCurrentRev * grpcproxy/cache: only check compaction revision for historical revisions * testutil: check for grpc resources in AfterTest * auth: import design doc * NEWS: add v3.1.4, v3.1.5 * proxy/grpcproxy: add chanStream helper * doc: link auth design in doc * etcdctl: add initial check perf command * grpcproxy/adapter: add maintenance API support * compactor: make TestPeriodic die early * clientv3,v3client: maintenance to embedded client * integration: use maintenance API adapter in tests * Documentation: add disk latency leader loss question to FAQ * Documentation: fix typos * *: use protoc 3.2.0 * compactor: fix TestPeriodic * embed: Delay setting initial cluster for YAML * etcdmain: test config file clustering flags * integration: test require leader for a lease stream * v3rpc: return leader loss error if lease stream is canceled * clientv3/integration: test lease WithRequireLeader * clientv3: support WithRequireLeader in lease client * Documentation: add encryption wrapper to integrations * clientv3: respect dial timeout when authenticating * clientv3: test dial timeout is respected when using auth * etcdserver: use cancelable context for server initiated requests * integration: test cluster terminates quickly * idgen: correct comments for id generator * Documentation: Adding new Ruby v3 client entry to integrations.md * Documentation: add dims v3 gateway API for python * clientv3: fix go1.8 go fmt warning in test * *: support checking that an interval tree\'s keys cover an entire interval * *: add pprof flag to grpc proxy * etcdctl: add a new option --from-key for unlimited range permission * e2e: add a test case for the --open-ended option * grpcproxy/adapter: add Cluster API support * clientv3,v3client: add cluster embedded client * clientv3: remove unused fields from \'auth\' * pkg/transport: remove port in Certificate.IPAddresses * integration: use cluster adapter in tests * test: generate coverage report even if some tests fail * auth: use atomic access to \'authStore.revision\' * Docs: replace absolute links with relative ones. * lease: acquire BatchTx lock in fakeDeleter * auth, adt: introduce a new type BytesAffineComparable * *: fix a bug in handling unix socket urls * clientv3/yaml: use TLS 1.2 in min version * clientv3: register waitCancelSubstreams closingc goroutine with waitgroup * ctlv3: add \'--debug\' flag (to enable grpclog) * etcdmain: support SRV discovery for gRPC proxy * clientv3/integration: fix minor typo in Fatalf * test: fix fmt pass and shorten suppression warnings * *: remove os.Kill from signal.Notify * netutil: fix unused err staticcheck failure * vendor: upgrade grpc to 1.2.1 * vendor: upgrade grpc-gateway to v1.2.0 * concurrency: expose leader revision and proclaim headers for election * concurrency: return v3.GetResponse for Election.Leader() * concurrency: only delete on election resignation if create revision matches * concurrency: support resuming elections if leadership already held * concurrency: don\'t skip leader updates in Observe() * v3rpc: force RangeEnd=nil if length is 0 * scripts: update genproto.sh to include v3election * v3election: Election RPC service * integration: v3 election rpc tests * embed: add Election service * etcd-runner: update election command to use new Leader() interface * Documentation: Adds AWS platform guide * test: remove generated files from coverage statistics * *: add swagger and grpc-gateway assets for v3lock and v3election * embed: register grpc-gateway endpoints for v3lock and v3election * test: ignore v3electionpb and v3lockpb for static checks * rafthttp: move test-only functions to \'_test.go\' * benchmark: add txn-put benchmark * vendor: update \'golang.org/x/net\' * *: coreos/rkt -> rkt/rkt * Documentation/learning: finish why.md * Documentation: Add Hosted Graphite to prod users * *: rename Snapshot STM isolation to SerializableSnapshot * Documentation: add missing link * integration: test requests with valid auth token but disabled auth * auth: protect simpleToken with single mutex and check if enabled * *: deny incoming peer certs with wrong IP SAN * transport: use actual certs for listener tests * tools/benchmark: fix misc gofmt warnings * test: do not ignore \'tools/benchmark/cmd\' * Documentation: reshuffle op-guide to include platforms and upgrading * *: return updated member list in v3 rpcs * report: add test for Report interface * discovery: remove dead token argument from SRVGetCluster * clientv3: let client.Dial() dial endpoints not in the balancer * integration: test client can dial endpoints not in balancer * etcdserver: let Status() not require authentication * Documentation: Adding a separate v2 and a v3 API binding for C++ * embed: remove ReadTimeout TODO * pkg/transport: add \'IsClosedConnError\' * rafthttp: use \'transport.IsClosedConnError\' * clientv3/integration: use \'transport.IsClosedConnError\' * etcdserver: wait apply on conf change Raft entry * etcdctl: show responses of auth RPCs if --write-output=fields is passed * auth: fix race on stopping simple token keeper * clientv3/namespace: fix incorrect watching prefix-end * clientv3/integration: test fetching entire keyspace * clientv3: translate WithPrefix() into WithFromKey() for empty key * benchmark: a new flag --target-leader for targetting a leader endpoint * op-guide: add command for checking if there\'s any v3 data * etcdmain: trigger embed.Etcd.Close for OS interrupt * embed: gracefully shut down gRPC server * integration: test \'inflight\' range requests * Revert \"mvcc: test inflight Hash to trigger Size on nil db\" * mvcc/backend: remove t.tx.DB()==nil checks with GracefulStop * mvcc: remove stopc select case in Hash * etcdserver: fill-in Auth API Header in apply layer * integration: test auth API response header revision * vendor: update gopkg.in/yaml.v2 to reflect current license * *: add bill of materials * clientv3/integration: add \'TestUserErrorAuth\' * travis: bump up to Go 1.8.1 * integration: use \'time.Until\' in Go 1.8 * *: use \' *tls.Config.Clone\' in Go 1.8 * raft: Avoid holding unneeded memory in unstable log\'s entries array * etcdserver: initialize raftNode with constructor * NEWS: update v3.1.6 * pkg/debugutil: add \'mutex\' profiler (Go 1.8+) * embed: use \' *url.URL.Hostname(),Port()\' for Go 1.8 * transport: resolve DNSNames when SAN checking * embed: signal \'grpcServerC\' before cmux serve * *: simply ignore ErrAuthNotEnabled in clientv3 if auth is not enabled * clientv3/integration: sleep less in TestLeaseRenewLostQuorum * etcdserver: remove 2.0 StatusNotFound version check * ctlv3: keep lease as integer in fields printer * scripts: move gateway stubs into gw/ packages * *: put gateway stubs into their own packages * test: ensure clientv3 has no grpc-gateway dependency * ctlv3: use printer for lease command results * vendor: update \'golang.org/x/time/rate\' with context * vendor: use \'x/net/trace\' with std \'context\' * netutil: use \"context\" and ctx-ize TCP addr resolution * build-binary: Add arm64 * build-aci: Add multi arch support * build-docker: Updates for multi-arch release * release: Add multi arch support * release.md: Update for multi arch release * *: clear redundant return statement warnings (S1027) * integration: add pause/unpause to client bridge * clientv3/integration: test watch resume with disconnect before first event * clientv3: only update initReq.rev == 0 with creation watch revision * v2http: remove deprecated /v2/machines path * integration: permit dropping intermediate leader values on observe * concurrency: clarify Observe semantics; only fetches subsequence * clientv3: set current revision to create rev regardless of CreateNotify * testutil: add assert functions * store: replace testify asserts with testutil asserts * scripts: remove testify hack in updatedep * vendor: remove testify * clientv3: don\'t halt lease client if there is a lease error * concurrency: use new lease interface in session * clientv3/integration: use new interfaces in lease tests * etcdcdtl: use new lease interface * grpcproxy: use new lease interface * etcd-runner: update to use new lease interface * benchmark: use new lease interface * integration: close proxy\'s lease client * etcd-runner: move root cmd into command package * etcdserver: ensure waitForApply sync with applyAll * etcdserver: do not block on raft stopping * etcd-runner: add rate limiting in doRounds() * etcd-runner: add barrier, observe !ok handling, and election name arg to election-runner. * etcd-runner: add lease ttl as a flag and fatal when err in lease-runner. * etcd-runner: pass in lock name as a command arg for lock_racer. * etcd-runner: add --prefix flag, allows inf round, and minor vars refactoring in watch runner. * etcd-runner: integrate etcd runner in to etcd tester * v3client: wrap watch ctxs with blank ctx * Documentation: require Go 1.8+ for build * integration: test Observe can read leaders set prior to compaction * concurrency: use current revisions for election * integration/fixtures: add expired certs * clientv3/integration: test client dial with expired certs * test: bill of materials check pass * vendor: revendor speakeasy to include unix license file * travis: add bill-of-materials checking * raft: Set the RecentActive flag for newly added nodes * pkg/transport: reload TLS certificates for every client requests * pkg/wait: add comment and make List private * integration: test TLS reload * Documentation: add upgrade to 3.2 doc * integration: match more TLS errors for wrong certs * version: bump up to 3.2.0-rc.0 * version: bump up to 3.2.0-rc.0+git * Documentation/v2: pin docker guide to use latest 2.3.x * Documentation: add documentation for single node docker etcd * scripts: annotate with acbuild with supports-systemd-notify * embed: fix blocking Close before gRPC server start * Revert \"Merge pull request #7732 from heyitsanthony/lease-err-ka\" * Documentation/upgrades: revert KeepAlive interface change * add chain core to raft users list * integration: ensure revoke completes before TimeToLive * etcdserver: apply() sets consistIndex for any entry type * clientv3: don\'t race on upc/downc/switch endpoints in balancer * integration: close accepted connection on stopc path * etcdserver: add a test to ensure config change also update ConsistIndex * concurrency: provide old STM functions as deprecated * integration: clean up TLS reload tests, fix no-file while renaming * integration: close proxy\'s lease client * clientv3/integration: drain keepalives before waiting for leader loss * Documentation/v2: fix broken links * Documentation/v3: fix broken links * *: fix other broken links in markdown * integration/fixtures-expired: do not force \'rm\' * scripts,travis: install \'marker\' for CI tests * test: run \'marker\' to find broken links * Documentation: remove \'[]\' from \'[DEPRECATED]\' * compactor: Make periodic compactor runs every hour * raft: Add unit test TestAddNodeCheckQuorum * backend: print snapshotting duration warning every 30s * pkg/srv: package for SRV utilities * clientv3: check IsModify * backend: add prometheus metric for large snapshot duration. * README: use the same tagline from github * embed: gracefully close peer handlers on shutdown * etcdmain, tcpproxy: srv-priority policy * clientv3: Do no stop keep alive loop by server side errors * scripts: add \'BOM\' update script * v3rpc: remove duplicated error case for lease.ErrLeaseNotFound * etcdserver: renaming db happens after snapshot persists to wal and snap files * etcdserver: add a test to ensure renaming db happens before persisting wal and snap files * etcd-runner: remove mutex on validate() and release() in global.go * etcd-runner: fix race on nextc * grpcproxy, etcdmain: add lock and election services to proxy * adpater: adapters for lock and election services * integration: add lock and election services to proxy tests * pkg/srv: fix error checks from resolveTCPAddr * clientv3: remove duplicate documentation for Do() * snap, etcdserver: tighten up snapshot path handling * backend: dynamically set snapshotWarningTimeout based on db size * faq: explains \"snapshotting is taking more...\" warning * expect: reload DEBUG_EXPECT for each process * etcd-agent: store failure_archive in log dir * functional-tester: use log-dir as data-dir in etcd-agent * e2e: more debugging output for lock and elect etcdctl tests * integration: reset default logging level in TestRestartRemoved * osutil: force SIG_DFL before resending terminating signal * backend: force initial mmap size to 0 for windows * *: remove unnecessary fmt.Sprint * pkg/osutil: fix missing \'syscall\' import * benchmark: add rpc locks to stm benchmark * benchmark: add rate limiting to stm * travis: test builds in other OSes * bridge: add tx-delay and rx-delay * e2e: Stop() lock/elect etcdctl process if Close times out * tcpproxy: display endpoints, not pointers, in ready to proxy string * etcdserver: more logging on snapshot close path * report: add NewWeightedReport * op-guide: remove alpha from grpc proxy * *: fill out blank package godocs * etcd-tester: use \'debugutil.PProfHandlers\' * etcd-tester: add \'-failpoints\' to configure gofail * *: remove unused, fix typos * integration: bump up \'TestV3LeaseRequireLeader\' timeout to 5-sec * version: bump up to 3.2.0-rc.1 * version: bump up to 3.2.0-rc.1+git * ctlv3: add --prefix support to role revoke-permission, cleanup role flag handling * etcdctl: sync README with etcdctl role command, add prefix example, fix typo * Documentation, scripts: regenerate protobuf docs with updated protodoc * clientv3, etcdserver: support auth in Watch() * e2e: add a new test case for protecting watch with auth * Documentation/learning: fixed typo * etcdserver: close mvcc.KV on init error path * Documentation: add systemd, Container Linux guide * doc: modify usecase * benchmark: support multiple clients/conns in watch-latency benchmark * travis: run tests with Go 1.8.3 * test: release tests with v3.2+ * ROADMAP: make \'release-3.2\' stable branch * e2e: use version.Cluster for release test * etcdctl: support exec on lock * Documentation: add FAQ entry for \"database space exceeded\" errors * Documentation: add \'yaml.NewConfig\' change in 3.2 * vendor: use v0.2.0 of go-semver * op-guide: update performance.md * vendor: kr/pty v1.0.0 * vendor: ghodss/yaml v1.0.0 * clientv3: use Endpoints[0] to initialize grpc creds * clientv3/integration: test dialing to TLS without a TLS config times out * clientv3: support unixs:// scheme * integration: use unixs:// if client port configured for tls * mvcc: chunk reads for restoring * mvcc: time restore in restore benchmark * op-guide: document configuration flags for gateway * Documentation, scripts: regen RPC docs * scripts, Documentation: fix swagger generation * op-guide: document CN certs in security.md * test: speedup and strengthen go vet checking * *: fix go tool vet -all -shadow errors * Documentation/op-guide: fix typo in grafana.json * test, osutil: disable setting SIG_DFL on linux if built with cov tag * test: shellcheck * travis: add shellcheck * *: clear rarer shellcheck errors on scripts * fileutil: return immediately if preallocating 0 bytes * Documentation/op-guide: fix \'grpc_code\' field in metrics * etcdserver: add leaseExpired debugging metrics * v2http: put back /v2/machines and mark as non-deprecated * Documentation/op-guide: do not use host network, fix indentation * integration: test txn comparison and concurrent put ordering * mvcc: create TxnWrites from TxnRead with NewReadOnlyTxnWrite * etcdserver: use same ReadView for read-only txns * rafthttp: permit very large v2 snapshots * version: bump up to 3.2.0 * version: bump up to 3.2.0+git * Documentation/upgrades: link to previous guides * build-aci: Fix ACI image name * bill-of-materials: regenerate with multi licenses * Documentation/op-guide: fix failed RPC rate, leader election metrics * test: \'FAIL\' on release binary download failure * e2e: test txn over grpc json * dev-guide: add txn json example * v3rpc: treat nil txn request op as error * integration: test mvcc db size metric is set on restore * mvcc: set db size metric on restore * mvcc: test restore and deletes with small chunk sizes * mvcc: restore into tree index with one key index * etcd-tester: add \'exit-on-failure\' * test: run basic functional tests * integration: test mvcc db size metric is updated following defrag * mvcc: use GaugeFunc metric to load db size when requested * version: bump up to 3.2.1 * version: bump up to v3.2.1+git * lease: rate limit revoke runLoop * lessor: extend leases on promote if expires will be rate limited * benchmark: refactor watch benchmark * Documentation/v2: \'etcd v2\' to the title * Documentation/faq: fix typo in flag names * lease: stop lessors after tests * fixtures: add gencerts.sh, generate CRL * embed: share grpc connection for grpc json services * embed: connect json gateway with user-provided listen address * transport: accept connection if matched IP SAN but no DNS match * dev-guide: update experimental APIs * version: bump up to 3.2.2 * version: bump up to 3.2.2+git * Documentation: refer to LeaseKeepAliveRequest for lease refresh * dev-guide: document using range_end for prefixes with json * v3rpc: Let clients establish unlimited streams * test: sync with etcd-agent start in functional_pass * testutil: whitelist WaitGroup.Done * version: bump up to 3.2.3 * version: bump up to 3.2.3+git * embed: wait up to request timeout for pending RPCs when closing * integration: test embed.Etcd.Close with watch * grpcproxy: return nil on receiving snapshot EOF * version: bump up to 3.2.4 * Wed May 24 2017 opensuse-packagingAATTopensuse.org- Update to version 3.1.8: * version: bump up to 3.1.7+git * Docs: replace absolute links with relative ones. * etcd-2-1-0-bench: Fix an absolute bare link to resource outside of Documentation dir * etcdserver: apply() sets consistIndex for any entry type * integration: close accepted connection on stopc path * Documentation/v2: fix broken links * Documentation/v3: fix broken links * *: fix other broken links in markdown * version: bump up to 3.1.8 * Fri May 19 2017 opensuse-packagingAATTopensuse.org- Update to version 3.1.7: * integration: test auth API response header revision * ctlv3: keep lease as integer in fields printer * version: bump up to 3.1.6 * version: bump up to 3.1.6+git * ctlv3: use printer for lease command results * clientv3: only update initReq.rev == 0 with creation watch revision * clientv3/integration: test watch resume with disconnect before first event * integration: add pause/unpause to client bridge * clientv3: set current revision to create rev regardless of CreateNotify * version: bump up to 3.1.7 * Thu Apr 13 2017 jmassaguerplaAATTsuse.com- Fix etcd build. We are generating 2 binaries, etcd and etcdctl. They need to be built separately * Thu Feb 23 2017 fcastelliAATTsuse.com- Ensure /var/lib/etcd is controlled by etcd:etcd * Tue Jan 24 2017 jmassaguerplaAATTsuse.com- exclude i586. We don\'t expect this package to be built on i586. * Mon Jan 23 2017 jmassaguerplaAATTsuse.com- remove sysconfig.etcd: this file is not being used * Mon Jan 23 2017 opensuse-packagingAATTopensuse.org- Update to version 3.1.0: * raft: add node should reset the pendingConf state * v3rpc: don\'t close watcher if client closes send * e2e: add test for v3 watch over grpc gateway * mvcc: remove unused restore method * integration: don\'t expect recv to stop on CloseSend in waitResponse * Documentation: add grpc gateway watch example * version: bump up v3.1.0-rc.1+git * discovery: warn on scheme mismatch * grpcproxy: fix deadlock on watch broadcasts stop * etcdmain: add \'/metrics\' HTTP/1 path to grpc-proxy * etcd-tester: do not resolve localhost * raftexample: confState should be saved after apply * raft: test case to check the duplicate add node propose * raft: fix test case, should wait config propose applied * raft: fix test case for data race * raft: use the channel instead of sleep to make test case reliable * raft: fix TestNodeProposeAddDuplicateNode * etcdmain: handle TLS in grpc-proxy listener * etcd-tester:limit max retry backoff delay * functional-tester: add withBlock() to grpc dial * op-guide: add notes about Prometheus data source in Grafana * clientv3: return copy of endpoints, not pointer * auth: add a timeout mechanism to simple token * client: update README about health monitoring * grpcproxy: fix race between watch ranges delete() and broadcasts empty() * lease: Use monotonic time in lease * integration: use Range to wait for reboot in quota tests * grpcproxy: fix race between coalesce and bcast on nextrev * etcd-tester: refactor lease checker * store: check sorted order in TestStoreGetSorted * vendor: bump go-systemd to v14 to avoid build error * integration: cancel Watch when TestV3WatchWithPrevKV exits * grpcproxy: add richer metrics for watch * grpcproxy: add cache related metrics * raft: Fix election \"logs converge\" test * raft: Export Progress.IsPaused * benchmark: add rate limit * etcdctl: remove GetUser check before mutable commands * grpcproxy: lock store when getting size * Documentation: link added to libraries-and-tools.md with a new v2 Scala Client * grpcproxy: fix deadlock in watchbroadcast * etcdserver: time out when readStateC is blocking * store: fix store_test.go comments * vendor: update ugorji/go * client: update generated ugorji codec * doc: initial faq * clientv3/integration: test lease keepalive works following quorum loss * integration: use RequireLeader for TestV3LeaseFailover * v3rpc, etcdserver, leasehttp: ctxize Renew with request timeout * Documentation: add blox and chain as users * etcdserver: do not send v2 sync if ttl keys do not exist * ROADMAP: update for 3.2 * Documentation: add more FAQ questions * grpcproxy: fix minor typo * vendor: use versions when possible in glide.yaml * scripts: use glide update if repo exists in glide.lock * github: make bug reporting link non-relative * github: make contribution link non-relative * Documentation: update get examples to be clearer about ranges * etcdserver, embed, v2http: move pprof setup to embed * doc: add faq about apply warning logging * test: exclude \'_home\' for gosimple, unused * auth: fix gosimple errors * integration: simplify boolean comparison in resp.Created * raft: simplify boolean comparison, remove unused * tools: simplify boolean comparison, remove unused * e2e: remove unused \'ctlV3GetFailPerm\' * v3rpc: remove unused \'splitMethodName\' function * grpcproxy: remove unused field \'wbs *watchBroadcasts\' * doc: add faq about missing heartbeat * etcdctl: \"fields\" output formats * build: remove dir use -r flag * etcd-tester: add \'enable-pprof\' option * etcd-tester: cancel lease stream; fix OOM panic * doc: add hardware section * auth: improve \'removeSubsetRangePerms\' to O(n) * Documentation: use port 2379 in local cluster guide The port in endpoints should be 2379, instead of 12379. * op-guide/clustering: fix typo * embed: deep copy user handlers * Documentation: add more FAQs (follower, leader, sys-require) * clientv3: close Lease on client Close * netutil: ctx-ize URLStringsEqual * etcdserver: retry for 30s on advertise url check * membership: retry for 30s on advertise url check * clientv3: return error from KeepAlive if corresponding loop exits * clientv3: add test for keep alive loop exit case * auth, etcdserver: protect membership change operations with auth * e2e: test cases of protecting membership change with auth * clientv3: better error message for keep alive loop halt * Documentation: FAQ entry for cluster ID mismatches * dev-guide: add limit.md * Documentation: minor fix nodes -> node * etcdctl: warn when backend takes too long to open on migrate * docs: explicitly set ETCDCTL_API=3 in recovery.md * v3api, rpctypes: add ErrTimeoutDueToConnectionLost * clientv3/integration: test lease grant/keepalive with/without failures * clientv3: don\'t reset keepalive stream on grant failure * etcdctl: tighten up output, reorganize README.md * Documentation: add FAQs on membership operation * Documentation: add \'why.md\' * embed: only override default advertised client URL if the client listen URL is 0.0.0.0 * raft: make memory storage set method thread safe * raft: resume paused followers on receipt of MsgHeartbeatResp * etcd-tester: fix typo, add endpoint in logs * lease: force leader to apply its pending committed index for lease operations * leasehttp: buffer error channel to prevent goroutine leak * raft: fix pre-vote tests * etcdserver: rework update committed index logic * etcd-tester: remove unused err var from maxRev * e2e: check etcdctl endpoint health is healthy if denied permission to key * benchmark: a new option for configuring dial timeout * ctlv3: consider permission denied error to be healthy for endpoints * etcdmain: add --metrics flag for exposing histogram metrics * e2e: test cluster-health * v2http: submit QGET in health endpoint if no progress * test: bump grpcproxy pass timeout to 15m * lease: use atomics for accessing lease expiry * e2e: poll \'/version\' in release upgrade tests * e2e: unset ETCDCTL_API env var before running u2e tests * etcdserver: consistent naming in raftReadyHandler * coverage: rework code coverage for unit and integration tests * testutil: whitelist thread created by go cover * rafthttp: bump up timeout in pipeline test * grpcproxy, etcdmain, integration: return done channel with WatchServer * integration: defer clus.Terminate in watch tests * raftexample: load snapshot when opening WAL * etcd-runner: make command compliant * raft: use status to test node stop * etcdserver: expose ErrNotEnoughStartedMembers * etcdserver: resume compactor only if leader * benchmark: enable grpc error logging on stderr * etcd-runner:add flags in watcher for hardcoded values * docs: fix recovery example in recovery.md * auth: use quorum get for GetUser/GetRole for mutable operations * grpcproxy: tear down watch when client context is done * integration: use only digits in unix ports * e2e: dump stack on ctlTest timeout * expect: EXPECT_DEBUG environment variable * why: add origin of the term etcd * testutil: increase size of buffer for stack dump * raft: fix test case for #7042 * vendor: update ugorji/go * integration: add grpc auth testing * auth: reject empty user name when checking op permissions * etcdctl: create root role on auth enable if it does not yet exist * raft: add RawNode test case for #6866 * pkg/report: support 99.9-percentile, change column name * documentation: display docs.md in github browser * benchmark: option to rate limit range benchmark * etcdserver, clientv3: handle a case of expired auth token * tools: Add etcd 3.0 load test tool refernece * transport: warn on user-provided CA * NEWS: add v3.1.0, v3.0.16 + minor fixes * clienv3: fix balancer test logic * clientv3: don\'t reset stream on keepaliveonce or revoke failure * grpcproxy: use ccache for key cache * vendor: remove groupcache, add ccache * pkg/report: add \'Stats\' to expose report raw data * travis: use Go 1.7.4, drop old env var * ctlv3: print cluster info after adding new member * Documentation: document upgrading to v3.1 * pkg/report: add nil checking for getTimeSeries * etcdserver: use ReqTimeout for linearized read * grpcproxy, etcdmain, integration: add close channel to kv proxy * glide: update \'golang.org/x/net\' * vendor: update \'golang.org/x/net\' * Documentation: update experimental_apis for v3.1 release * NEWS: fix date for v3.1 release * Documentation: fix typo s/endpoint-health/endpoint health/ * clientv3/concurrency: fix rev comparison on concurrent key deletion * integration: test STM apply on concurrent deletion * pkg/flags: fixed prefix checking of the env variables * etcdctlv3: snapshot restore works with lease key * test: passed the test script arguments as the test function parameters * documentation: update build documentation * version: bump to v3.1.0 * Thu Jan 12 2017 opensuse-packagingAATTopensuse.org- Update to version 3.1.0rc.1: * grpcproxy: watch next revision should be start revision when not 0 * grpcproxy: copy range request before storing in cache * raft: return empty status if node is stopped * mvcc: store.restore taking too long triggering snapshot cycle fix * mvcc: TestStoreRestore fix * mvcc : Added benchmark for store.resotre * pkg/netutil: get default interface for tc commands * version: bump up v3.1.0-rc.1 * Wed Sep 14 2016 opensuse-packagingAATTopensuse.orgUpdated to version 3.0.8- Bug fixes - GH6325: etcdctl: fix quotes in txn and watch - GH6344: etcdctl/ctlv3: don\'t crash when we should prompt for pw - GH6365: embed: reject domain names before binding - GH6370: etcdctl: restore should create a snapshot - GH6381: wal: fsync directory after wal file rename - GH6253: discovery: reject IP address records in SRVGetCluster - GH6267: wal: fix CRC corruption on writes following write tears - GH6269: wal: On non-Windows OS, hold file lock while renaming WAL directory - GH6284: clientv3/concurrency: fix unintended deadlock on key prefixes - GH6309: etcdserver: allow zero kv index for cluster upgrade - GH6310: wal: use page buffered writer for writing records - GH6098: recover lessor before recovering mvcc store and transactionally revoke leases - GH6175: rafthttp: fix race between streamReader.stop() and connection closer - GH6226: vendor: update grpc/grpc-go for clientconn patch (grpc/grpc-go#842) - GH5845: clientv3: respect up/down notifications from grpc - GH6077: v2http: use guest access in non-TLS mode - GH6136: clientv3: close watcher stream once all watchers detach - GH6142: clientv3: handle watchGrpcStream shutdown if prior to goroutine start - GH6152: mvcc: fix count - GH6166: clientv3: support non-blocking New() - GH6222: integration: NewClusterV3() should launch cluster before creating clients- Security changes - GH6084: etcdctl: set TLS servername on discovery- Other changes - GH6218: vendor: boltdb/bolt v1.3.0 for Go 1.7 * Mon Aug 08 2016 opensuse-packagingAATTopensuse.org- Update to version 3.0.4: + etcdmain: correctly check return values from SdNotify() + etcdserverpb: add missing deleterange annotation + scripts:genproto.sh: update grpc-gateway + *: regenerate proto + Documentation: fix links in upgrades + etcdserver, api, membership: don\'t race on setting version + Dockerfile-release: add \'/var/lib/etcd/\' + scripts/genproto: use latest grpc-gateway c8ec92d0 + *: regenerate proto files for grpc-gateway + version: bump to v3.0.4 * Tue Jul 26 2016 msabateAATTsuse.com- Fixed the path on systemd\'s environment file * Wed Jul 13 2016 pjanouchAATTsuse.de- spec-cleaner clean ups- change PreReq: %fillup_prereq to Requires(post)- Require systemd-rpm-macros instead of the entire systemd- call %service_add_pre after instead of before creating the user and group * Thu Jul 07 2016 tboergerAATTsuse.com- Dropped rpmlintrc- Refactoring of the spec based on golang-packaging * Tue Jul 05 2016 opensuse-packagingAATTopensuse.org- Update to version 3.0.1: * version: bump to v3.0.0+git * release: fix Dockerfile etcd binary paths * etcdserver: exit on missing backend only if semver is >= 3.0.0 * Documentation: fix typo in api_grpc_gateway.md * *: test, docs with go1.6+ * version: bump to v3.0.1 * Tue Jul 05 2016 opensuse-packagingAATTopensuse.org- Update to version 3.0.0: * mvcc: do not hash consistent index * benchmark: fix Compact request * clientv3: only use closeErr on watch when donec is closed * ctlv3: make flags, commands formats consistent * Doc: fix typo in dev-guide.md * hack: add tls-setup example generated certs to gitignore * hack: install goreman in tls-setup example * *: remove beta from docs * version: bump to v3.0.0 * Wed Jun 22 2016 opensuse-packagingAATTopensuse.org- Update to version 2.3.7: + etcdsever: fix the leaky snashot routine issue + etcdserver: stop raft after stopping apply scheduler + etcdserver: wait for snapshots before closing raft + version: bump to v2.3.5 + version: bump to v2.3.5+git + etcd: fix refresh feature + version: bump to v2.3.6 + version: bump to v2.3.6+git + store: copy old value when refresh + cas + version: bump to v2.3.7 * Mon May 30 2016 opensuse-packagingAATTopensuse.org- Update to version 2.3.6: + raft: do not panic when removing all the nodes from cluster + Documentation/v2: fix auth_api.md bug + Documentation/v2: fix typo for updating a member + etcdsever: fix the leaky snashot routine issue + etcdserver: stop raft after stopping apply scheduler + etcdserver: wait for snapshots before closing raft + version: bump to v2.3.5 + version: bump to v2.3.5+git + etcd: fix refresh feature + version: bump to v2.3.6 * Wed May 18 2016 opensuse-packagingAATTopensuse.org- Update to version 2.3.4: + *: bump to v2.3.2 + *: bump to v2.3.2+git + etcdserver/auth: check empty password in merge + *: bump to v2.3.3 + *: bump to v2.3.3+git + httpproxy: fix race on getting close notifier channel + etcdctl/ctlv2: total-timeout for Sync + etcdctl: Add --wal-dir and --backup-wal-dir options to backup command. + README: add known bugs + version: bump to v2.3.4 * Tue Apr 26 2016 fcastelliAATTsuse.com- Update to version 2.3.2: + client: return original ctx error + etcdmain: start on unsupported arch when ETCD_UNSUPPORTED_ARCH is set + etcdctl: print grant/revoke error instead of scanning roles for changes + e2e: test etcdctl v2 double user grant + client: accept roles in response for ListUser + e2e: test etcdtl user list on root user + etcdserver: close response body when getting cluster information * Fri Apr 15 2016 normandAATTlinux.vnet.ibm.com- to complete previous update * remove etcd_add_bolt_ppc64.patch * add shadow as BuildRequires * Fri Mar 18 2016 fcastelliAATTsuse.com- Update to version 2.3.0: * Strict runtime reconfiguration check * Runtime profiling * Refreshing TTL keys * Experimental v3 support- Cleanup configuration handling * Wed Feb 17 2016 normandAATTlinux.vnet.ibm.com- new etcd_add_bolt_ppc64.patch * Tue Dec 22 2015 fcastelliAATTsuse.com- Remove obsolete ports from firewall configuration * Tue Dec 22 2015 fcastelliAATTsuse.com- Remove useless build warnings and errors- Fix building * Tue Dec 22 2015 fcastelliAATTsuse.com- Remove obsolete files- Fix systemd\'s unit to take into consideration the sysconfig environment file * Tue Dec 22 2015 fcastelliAATTsuse.com- Fix typo inside of spec file, remove reference to docker * Tue Dec 22 2015 fcastelliAATTsuse.com- Update to version 2.2.2: * fix health check result in etcdctl cluster-health * generate v5 ugorji/go/codec unmarshal code in client package * fix unset SYSLOG_IDENTIFIER when etcd is logging to the journal * improve logging when discovery procedure fails * fix various data races detected by race detector * fix rejecting to modify pre-defined guest role- Changes introduced by version 2.2.1: * support Nodes type in client package for sorting * improve panic logging output when starting etcd with corrupted data dir * fix non-customizable request timeout in etcdctl * improve output when missing initial flags * improve output when retrying unavailable endpoint in proxy * etcd no longer hangs forever when fails to finish discovery * fix Content-Type header for version API * improve logging output when systemd notify fails * support literal IPv6 address with zone in URL flags * update dependency for bug fix and restorable dependency list * fix mk command in etcdctl * Fri Feb 06 2015 fcastelliAATTsuse.com- Update to version 2.0.0: * Internal etcd protocol improvements to guard against accidental misconfiguration * etcdctl backup was added to make recovering from cluster failure easier * etcdctl member list/add/remove commands for easily managing a cluster * On-disk datastore safety improvements with CRC checksums and append-only behavior * An improved Raft consensus implementation already used in other projects like CockroachDB * More rigorous and faster running tests of the underlying Raft implementation, covering all state machine and cases explained in the original Raft white paper in 1.5 seconds * Additional administrator focused documentation explaining common scenarios * Official IANA assigned ports for etcd TCP 2379/2380 * Mon Oct 20 2014 fcastelliAATTsuse.com- Updated default configuration file * Mon Oct 20 2014 fcastelliAATTsuse.com- Fixed permissions of etcd binary * Mon Oct 20 2014 fcastelliAATTsuse.com- Created initial version 0.4.6
|
|
|