1,687 karma · joined February 1, 2017
What really made me mad was when we hired consultants and the contract would end, usually without much success because Twitter's problems were not normal problems, and then they would send us a fancy gift basket with our own wasted money.
Maciej, we are still waiting for you to ship the executive dashboard.
It was an ok car if you never, ever needed to use a highway.
Of course, some won’t value what it can do, but the hate over minor details is not justified.
But now the Model S is the best sedan on the road at any price, and I’ve driven the 2019 BMWs and others. The interiors are cluttered up with incoherent “luxury” features to try to justify the price point, but nothing works that well together except for the drivetrain itself. I don’t want a crystal shifter knob and eight different buttons to lower the rear seats and a head-up display that occasionally knows the speed limit and iPads protruding from the seat backs and a lane-keeping feature that randomly jerks the wheel. This stuff makes the retracting door handles on the Tesla seem almost practical.
I do want a car that drives great and looks great and minimizes maintenance and running costs. No ICE drivetrain can deliver the same acceleration thrill as the Tesla drivetrain, so what’s the point? The only thing left is range and hauling power, so pickup trucks, vans, and for now, SUVs.
I asked for the loaner vehicle for this purpose specifically. The car has AC and privacy. I get it. I wish it also had a desk.
https://mobile.twitter.com/officialmcafee/status/10508093668...
We are working on adding support for a 100% local development workflow in Netlify Dev. It would be lovely to know what you think is missing from stateful local workflows in both Zeit and Netlify.
suggests that serializability is violated when atomic ops are mixed with regular ops on the same key.
Note that transaction pipelining in Calvin does not have this issue.
FoundationDB and Percolator were developed independently, but the fundamental principal is the same.
See other comment re. phantoms.
“FoundationDB provides the strongest possible consistency model, sequential consistency (closely related to serializability from the database literature), providing the greatest possible ease of development.”
https://apple.github.io/foundationdb/consistency.html
In other places it says “serializable” but not strict.
Also, read conflicts are not added automatically on dependent reads of conflict-free operations, violating serializability of conflict-full operations.
Finally, if you query range offsets, is the entire prior range locked with a read conflict or just the key at the offset? My understanding is the latter which allows phantoms.
There’s a lot going on here and I would appreciate any clarification you can offer.
The opposite of janky was prostyle. There was no middle ground.
However, correctness testing is fundamentally adversarial, like security penetration testing. Building a database is not easy, and testing a database is not easy either. It is a separate skill set, as anomalies that lingered for decades in other databases reveal. The engagement with the Jepsen team is explicitly designed to explore the entire product surface area for faults, not to apply Jepsen as it currently stands. Thus, a lot of custom work ensued on both sides to make sure that the database was both properly testable, and properly tested. The result of that work is what you see in the report.
The typical Jepsen report implicates not just implementation bugs, but the entire architecture of the system itself. Jepsen usually identifies anomalies that cannot be prevented even with a perfect implementation, which didn't happen here.
Some vendors restrict their engagement with the Jepsen team to only what they have tested themselves already, although those tests are not always valid. This was not our mindset—we wanted to improve our database by taking advantage of Kyle’s expertise, not present a superficially perfect report that failed to actually exercise the potential faults of the system.
Thus, databases that rely on clock synchronization recommend configuring tolerance windows of 500ms and above, and cannot reliably detect if those windows have been violated. Additionally, this window affects latency for serializable local reads all the time, even if the clocks actually fine, because there is no way for the system to know.
Yeah, I agree. We worked very hard to fix all major issues during the evaluation period so that Kyle could test the fixes himself, and we are a planning a formal followup on the remaining items and some planned improvements as well, once we are ready.
For example, a 7 replica FaunaDB cluster can lose 3 replicas and maintain availability for reads and writes; better than Aurora in your example.
FaunaDB supports function execution in the database, if the functions are written in FQL. It has a much more powerful index system and consistency model than Gemstone/Gemfire/Geode and is designed for synchronous global replication.
However, unlike Geode it is not an in-memory system, so it is not appropriate to use as a cache.
Typical write latencies in Cloud are in the 100ms range because the data is globally replicated. Typical read latencies are the 1ms-10ms range, because global coordination is not required, discounting the additional latency from the client to the closest datacenter.
If you experienced something worse than that recently, maybe there is some other issue going on.
Currently it supports its own native DSL similar to LINQ or an ORM, and if you want compatibility with existing query languages from other databases, we will be rolling those out over time.
It's not a good choice for analytics or time series data which is redundant or aggregated, and doesn't need the high availability or performance overhead of transactional isolation.
FaunaDB 2.5 passed the core linearizability tests for multi-partition transactions immediately. To my knowledge no other distributed system has done this. Zookeeper was the strongest candidate on initial testing in the early days, but it does not offer multiple partitions at all, as discussed in the FaunaDB report. And Jepsen itself was much less comprehensive at the time.
All other issues affecting correctness were fixed in the course of the analysis, and FaunaDB 2.6 is now available with the improvements.
We're happy to answer questions along with @aphyr. Our blog post is here: https://fauna.com/blog/faunadbs-official-jepsen-results