Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
aphyr
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
39 ms
·
181.
▲
by
aphyr
6y ago
Aw shucks, thank you! <3
182.
▲
by
aphyr
6y ago
Latency is a big one--you've got to wait an extra round-trip for secondaries to acknowledge primary writes, and primaries (assuming you don't have reliable clocks) need to check in with secondaries to confirm they have the most re
183.
▲
by
aphyr
6y ago
Yeah, there's no workaround that I can find for 3.4 (duplicate effects), 3.5 (read skew), 3.6 (cyclic information flow), or 3.7 (read own future writes). I've arranged those in "increasingly worrying order"--duplicating
184.
▲
by
aphyr
6y ago
Hi folks! Author of the report here. If anyone has questions about detecting transactional anomalies, what those anomalies are in the first place, snapshot isolation, etc., I'm happy to answer as best I can.
185.
▲
by
aphyr
6y ago
Nope! Something weird happened to that post; it got a lot of upvotes and some comments, but never made it to frontpage. After the InfoQ article took off yesterday, an HN mod got in touch and asked if I'd like to resubmit it.
186.
▲
by
aphyr
6y ago
It looks like relatively few people clicked through to read the analysis itself, so @dang's kindly offered to repost it. You can find the analysis here: https://jepsen.io/analyses/mongodb-4.2.6 ... and the corresp
187.
▲
Jepsen: MongoDB 4.2.6
(jepsen.io)
604 points
by
aphyr
6y ago
|
254 comments
188.
▲
Jepsen: MongoDB 4.2.6
(jepsen.io)
159 points
by
aphyr
6y ago
|
23 comments
189.
▲
by
aphyr
6y ago
It sounds like you're asking for contract work; you're welcome to email me at aphyr@jepsen.io.
190.
▲
by
aphyr
6y ago
Sure, I could run Jepsen against anything I can talk to over the network, but a.) it might be painful or impossible to get a fresh, healthy cluster for each test run (It's... fairly common that databases stop being databases during a t
191.
▲
by
aphyr
6y ago
>> graph traversal across different attributes might pay a higher latency cost > Those can be done concurrently if at the same query level, so not necessarily any slower. An important clarification, yes! I should have made that mor
192.
▲
by
aphyr
6y ago
Kinda depends on what you're doing, how much of Jepsen you're using, and how complex the system-specific code is. You can write a minimal Jepsen test in ~100 lines of code, if that's helpful. Jepsen and its main supporting li
193.
▲
by
aphyr
6y ago
The first sentence is describing how Dgraph shards data for storage; the second sentence discusses how data can be represented in the query API. You're right that this could lead to broad fanout, if users typically retrieved all attr
194.
▲
by
aphyr
6y ago
Yes: the library is prominently linked on the home page, and there are deep links to the Dgraph test suite code throughout the report. Pretty much all of my work is OSS, and public release of test harness for each report is explicitly part
195.
▲
by
aphyr
6y ago
Yep! Testing databases is my full time job. Vendors pay me for the work, and that means the Jepsen library, test harness for each database, and all the reports are free for everyone. :)
196.
▲
Jepsen: Dgraph 1.1.1
(jepsen.io)
203 points
by
aphyr
6y ago
|
64 comments
197.
▲
by
aphyr
7y ago
Ah, yes, thank you!
198.
▲
by
aphyr
7y ago
Good question! Consider RandDB, a database which returns random values for reads. It is possible that with RandDB, we happen to get a history which looks, say, serializable. And indeed, the observed history might be equivalent to a serial
199.
▲
by
aphyr
7y ago
Oh! I didn't expect this to show up here! Happy to answer questions, if folks have any. While this is on frontpage, I'd like to ask: if anyone has experience with machine proofs, I'd appreciate your help in completing a forma
200.
▲
by
aphyr
7y ago
Many do, and even large DBs can be accomodated by throwing terabytes of RAM at the problem, but etcd is fundamentally targeted at a different problem domain than a general-purpose database. Everything in etcd is represented by a single-thre
201.
▲
by
aphyr
7y ago
This is also one of the things I suggested that'd be nice to have in the etcd API, along with an AST for boolean operations over guard expressions, more flexible comparators etc. You can emulate these with a sequence of independent tra
202.
▲
by
aphyr
7y ago
> It's debatable these bugs would've existed if a Jepson pipeline had been consistently in use from the 0.4.x days. I don't think it would have helped: the Jepsen tests I wrote in 2014 only checked single-key gets, puts, a
203.
▲
Jepsen: Etcd 3.4.3
(jepsen.io)
219 points
by
aphyr
7y ago
|
55 comments
204.
▲
by
aphyr
7y ago
Y'all really should hire me at some point. I've been building out transactional analysis tooling for Jepsen that can help distinguish between exactly these cases. :-)
205.
▲
by
aphyr
7y ago
Restating this for folks in the comments who didn't read: When I applied for a policy, my agent provided me with an electronic signature pad at payment time. I understood that I was providing my consent to apply for coverage, and to pa
206.
▲
by
aphyr
7y ago
<sigh> Again, if you read the thread, you would also know that I could not possibly have agreed to these terms, because I didn't know they existed.
207.
▲
by
aphyr
7y ago
As I stated in the immediately following tweet in the thread, I was not presented with those forms at signing time. I had no idea they existed or that my signature would be applied to them.
208.
▲
by
aphyr
7y ago
So I'm not super familiar with quantum computation, but I did do my undergrad research in QM (specifically, how chaotic behavior depends on the scale of nonlinear quantum systems) and I can take some informed guesses about what these
209.
▲
by
aphyr
7y ago
I was actually thinking of exactly this problem, but it turned out to be difficult to demonstrate, because YB doesn't allow you to add columns with default values to an existing table. There might be other ways this could play out in m
210.
▲
by
aphyr
7y ago
To add some context: every Jepsen test involves table creation. YugaByte DB's table-creation process was exceptionally fragile, which is what prompted tests specifically pushing on that behavior.
More ›