I've asked this to the Crate people before, and not received much in the way of a satisfactory answer. Elasticsearch fundamentally does not provide ACID-style durability guarantees, and Jepsen testing has revealed near-as-makes-no-difference insurmountable problems in replication during partitions. As such I can't wrap my head around why Crate thinks it's safe or even coherent to build a database product on top of it. Even ES core devs make it very clear when you ask (and I have) -- ES should be used as a secondary index, and not as primary data storage.
What gives? What am I not seeing here?
The Jepsen test is of a very old version. Since then ES has had work done to the clustering, as well as adding an fsynced transaction log.
I agree it's an old version, and I agree they've made incremental improvements since them. But ES is fundamentally clustered Lucene indexes. You can't bolt on partition safety like a feature; it kinda has to be part of the design from the beginning.
Consistency issues aside, I wonder if the translog work in recent versions has improved anything with regard to durability/crash-proofness.
Nothing here is really being "abused." You're actually just re-purposing a piece of software to perform another job outside of its intended design - that's fine! Just keep it stable and fast, and you're all good :-)
As a side note: I love Elastic. I would make it my daily, general purpose database if I could, but that truly is abusive (to everyone involved.)