7 ms·
Jepsen: Crate 0.54.9 version divergence
- sdegutis 10y agoNot to be confused with Rust Crates (which I mention because I was confused).
- cordite 10y agoWas my first thought as well.
- caleblloyd 10y agoIt should be referred to as crate.io for this reason
- sdegutis 10y agoMeh. I think a better root solution is picking more unique names. Like, instead of Create, why don't they call it: Rustpkg? Or maybe, Rusputin? You know, a mix of (Grigori) Rasputin and Rust. It avoids all the (many) drawbacks of giving projects too generic of a name, while also making it more memorable and fun!
- steveklabnik 10y ago"rustpkg" was the name of the thing Cargo replaced.
- justinsaccount 10y agoI think something went wrong here: ; For each [version, reads] pair, discard those with one value multis (remove (fn <a href="/data/posts/332/k vs">k vs</a> (= 1 (count (set (map :value vs)))))
- ianamartin 10y agoI have a general question about database reliability that perhaps someone could help me look into. I love these Jepsen posts, and Kyle Kingsbury's work is amazing. It all shows that distributed systems are really complicated and difficult to get right. These posts on the open source ones are really great. But how do you go about evaluating a proprietary one? Let's say my company is looking for a columnar store. We look at the evaluation of Cassandra and think, "Nope." But then someone says, "Hey! Let's go with Redshift!" How do you know that's any better? We all know that DB makers claim certain things. Why would Amazon be better at this tricky subject than the people behind ElasticSearch? My question is that I would really like to know what people think about this? Is the decision that it's better to go with the unreliable demon that you know? Or is it better to pass the responsibility off to a company like Amazon, hope for the best, and lawyer up if unexpected things happen?
- emirozer 10y agoI try and find engineers whose job is to run that distributed datastore in production with a scale similar to my case. Chances are really high that even in a related IRC one can find someone for any database. And just ask for their experiences.
- hyperpape 10y agoI think he traditionally did OSS datastores because he didn't want to buy licenses for a side-project, but Jepsen uses a black box method--it creates special clients and introduces network partitions. So for a proprietary database that you host, you could try to figure out how to write Jepsen tests. That won't help for services, though.
- DasIch 10y agoIt wouldn't work for services because you can't introduce network partitions but shouldn't they occur anyway, if you wait long enough? How much time would one have to invest until there is a reasonable chance that such a partition has occurred (often enough) to get a reasonably accurate test result?
- lobster_johnson 10y agoIs this bug in Crate, or Elasticsearch? I believe Crate bypasses Elasticsearch for some things and accesses shards directly, at least to perform query pushdown operations, but are they also handling the optimistic version control?
- caleblloyd 10y agoCrate.io does skip elasticsearch and go straight to lucene in many cases, see https://crate.io/a/sql-for-elasticsearch/ https://crate.io/a/sql-for-elasticsearch/ for some examples. It's still so new that I don't trust it with master data though. They do have good backup/restore functionality
- TempleOS 10y agoRed Sea is simple. I am commanding with divine authority. I don't argue. I am fucken Pope of Intel. Suck my cock and smile. RedSea File System The RedSea file system is a simple, 64-bit, file system which is similar to FAT32, but with absolute block addresses instead of clusters, fixed-sized 64-byte directory entries and no FAT table, just an allocation bitmap. A cluster is just one 512 byte sector. Files are stored in contiguous blocks and cannot grow in size. #define CDIR_FILENAME_LEN 38 //Must include terminator zero The following bit field shows valid 8-Bit ASCII filename characters. U32 chars_bmp_filename[8]= {0x0000000, 0x03FF73FB, 0xEFFFFFFF, 0x2FFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF}; public class CDirEntry //64-byte fixed-size { U16 attr; //See RS_ATTR_DIR. I would like to change these. U8 name[CDIR_FILENAME_LEN]; //See chars_bmp_filename, FileNameChk I64 cluster; (blk) //One sector per cluster. I64 size; //In bytes CDate datetime; //See DateTime, Implementation of DateTime }; public class CRedSeaBoot //RedSea is type FAT32 in partition table to fool BIOS. { U8 jump_and_nop[3]; U8 signature,reserved[4]; //MBR_PT_REDSEA=0x88. Distinguish from real FAT32. I64 drv_offset; //For CD/DVD image copy. I64 sects; I64 root_cluster; (root_blk) I64 bitmap_sects; I64 unique_id; U8 code[462]; U16 signature2; //0xAA55 }; See ::/Kernel/BlkDev/FileSysRedSea.CPP and ::/Adam/Opt/Boot/DskISORedSea.CPP. Files with names ending in .Z are compressed. See ::/Kernel/Compress.CPP. To replace ISO9660, make hard-drive partition image of a measured size and copy onto a CD/DVD starting at about sector 20, with EL TORITO booting. 512-byte sectors will be placed on top of 2048-byte CD/DCD sectors, so there will be four blocks per CD/DVD sector. RedSea file system has no bad block table and no redundant allocation table.