TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Jepsen: Etcd 3.4.3

219 pointsby aphyrover 5 years ago

13 comments

jzelinskieover 5 years ago
Congrats on the community blog launch! &lt;3<p>&gt;We would love to see someone in the etcd community integrate the etcd Jepsen tests directly into the existing etcd release pipeline.<p>I consider this to a be an issue of higher priority than any of the bugs they just found, because this will ensure preventable bugs don&#x27;t crop up in the future. It&#x27;s shocking to me that Jepson goes through all the effort and than very few projects build a permanent pipeline for it. It&#x27;s debatable these bugs would&#x27;ve existed if a Jepson pipeline had been consistently in use from the 0.4.x days. I&#x27;m sure it&#x27;s no simple task, but neither is a lot of the existing testing infrastructure for etcd.
评论 #22197614 未加载
评论 #22199297 未加载
kodablahover 5 years ago
&gt; This is, apparently, not correct. Asking for revision 0 causes etcd to stream updates beginning with whatever revision the server has now, plus one, rather than the first revision. Asking for revision 1 yields all changes. This behavior was not documented.<p>I had worked on an alternative etcd impl and had to workaround this assumption as well. It is technically documented in the proto[0], and numeric 0 is of course &quot;unset&quot; or &quot;default&quot; in proto3 land.<p>One thing I would like to see tested is nested transactions where one txn child mutates something then the second sibling txn child uses that something. I&#x27;ve found that implementation is lacking.<p>0 - <a href="https:&#x2F;&#x2F;github.com&#x2F;etcd-io&#x2F;etcd&#x2F;blob&#x2F;53f15caf73b9285d6043009fa64c925d5a8f573c&#x2F;etcdserver&#x2F;etcdserverpb&#x2F;rpc.proto#L684" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;etcd-io&#x2F;etcd&#x2F;blob&#x2F;53f15caf73b9285d6043009...</a>
评论 #22197628 未加载
dangover 5 years ago
There&#x27;s also <a href="https:&#x2F;&#x2F;etcd.io&#x2F;blog&#x2F;jepsen-343-results&#x2F;" rel="nofollow">https:&#x2F;&#x2F;etcd.io&#x2F;blog&#x2F;jepsen-343-results&#x2F;</a>, via <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=22191925" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=22191925</a>.
candiddevmikeover 5 years ago
This is a powerful validation for etcd and its status as a mission critical backend. You don&#x27;t see a lot of positive Jespen results these days!
评论 #22198511 未加载
kbensonover 5 years ago
<i>This is, apparently, not correct. Asking for revision 0 causes etcd to stream updates beginning with whatever revision the server has now, plus one, rather than the first revision. Asking for revision 1 yields all changes. This behavior was not documented.</i><p>Whoops, looks suspiciously like someone tested the revision integer for truthiness to see if something was passed.
评论 #22195270 未加载
评论 #22194108 未加载
Gepsensover 5 years ago
For me, etcd is the go to for dynamic configuration management.
hprotagonistover 5 years ago
The corresponding jepsen post: <a href="http:&#x2F;&#x2F;jepsen.io&#x2F;analyses&#x2F;etcd-3.4.3" rel="nofollow">http:&#x2F;&#x2F;jepsen.io&#x2F;analyses&#x2F;etcd-3.4.3</a><p>I do no work at all in this area, but i love these reports. They&#x27;re examples of well-written, clear, &quot;engineer-mind&quot; reports that we would all do well to emulate.
评论 #22195317 未加载
评论 #22193319 未加载
评论 #22192806 未加载
continuationsover 5 years ago
I mostly see etcd being used to store metadata &amp; configuration data for distributed systems.<p>Can etcd be also used as a general distributed database like FoundationDB or ScyllaDB? If so how does it compare to those other optiions?
评论 #22193397 未加载
评论 #22193028 未加载
评论 #22193317 未加载
shaklee3over 5 years ago
As usual, Kyle provides an awesome write-up. As much as I miss the old, funny, prose, the level of detail is still unmatched.
senderistaover 5 years ago
The elementary confusions apparent in the quoted documentation do not inspire confidence in the design or implementation.
评论 #22199570 未加载
nif2eeover 5 years ago
How many nodes can etcd handle without having noticeable decay in performance? their FAQ says 7 but did somebody use it in some other distributed app other than k8s with more nodes? Assume that most of the operations are get and watch (i.e. write&#x2F;read &lt;&lt;&lt; 1.0), how big of a cluster in terms of number nodes can we scale up to?
评论 #22192838 未加载
评论 #22192856 未加载
jasciiover 5 years ago
Going off the name I thought it would be something to manage Unix configurations (&#x2F;etc Daemon)
评论 #22196237 未加载
jinqueenyover 5 years ago
For the impatient: “The etcd key-value store is a distributed database based on the Raft consensus algorithm. In our 2014 analysis, we found that etcd 0.4.1 exhibited stale reads by default. We returned to etcd, now at version 3.4.3, to investigate its safety properties in detail. We found that key-value operations appear to be strict serializable, and that watches deliver every change to a key in order. However, etcd locks are fundamentally unsafe, and those risks were exacerbated by a bug which failed to check lease validity after waiting for a lock.”