4 ms·
An adventure in writing compatible systems
- ozgrakkurt 1y agoCurious if having the automated tests do db operations on a persistent db would catch this. It would do inserts/deletes/updates/create_table/alter_column etc. randomly for a long time, continue even if an operation fails unless there is a crash. This way the db could grow without bound and queries can get very slow
- swiftcoder 1y agoIt only catches it if you re-load the DB into sqlite after every write by turso. At which point you'd flag pretty quickly that it was the next write after 1 GB that messed things up
- ozgrakkurt 1y agoCould also make switching an operation. So it randomly switches between implementations and keeps using it until the next switch. And can keep running two instances so it is always kind of cross checking
- soanvig 1y agoI wonder why it took so much time among entire team to actually look into the source code. That's probably third thing I would do after encountering that kind of issue. I would even look for a word "gigabyte" considering it is well documented, because bizarre things should be documented.
- petcat 1y agoYeah. Is their developer super human because he...reads the source code?? This should be obvious. Now I would be genuinely worried about what other issues are lurking in their rewrite.
- yencabulator 1y agoPreviously in this saga: https://turso.tech/blog/a-deep-look-into-our-new-massive-multitenant-architecture https://turso.tech/blog/a-deep-look-into-our-new-massive-mul... They broke SQLite compatibility even before they started writing in Rust: https://news.ycombinator.com/item?id=42386894 https://news.ycombinator.com/item?id=42386894
- Joker_vD 1y agoThe worst thing is, it's also documented in the SQLite's documentation. The file format is documented, and it describes the existence of this lock-page located at 1 GiB mark. How they've managed to implement support for SQLite DB file format without reading the file format description is, frankly, beyond me.
- yencabulator 1y ago> To the point that we have a challenge [...]: if anyone can find a bug that leads to data corruption *and improve our simulator to catch it next time*, we will pay you a cash prize. Uhh, you should be paying people if you get them to work for you.
- rawxtl 1y agoI don't even understand the point in rewriting something that is rock solid. And on top of that you guys are asking for full compatibility. This is just nonsense.
- vendiddy 1y agoI think it's a valid question, but it's better to assume they had their reasons and try to understand why before drawing conclusions.
- Joker_vD 1y ago[flagged]
- nesarkvechnep 1y agoWe live in a SOCIETY!!!