Jordan Isaacs's Avatar

Jordan Isaacs

@snowytrees.dev.bsky.social

database system of record @ singlestore; making transactions go vroom: author of too many nix flakes

45 Followers  |  34 Following  |  13 Posts  |  Joined: 29.08.2023  |  1.7148

Latest posts by snowytrees.dev on Bluesky

Everyone complains about fighting the compiler, but the true boss battle is the linker. I’d rather have a thousand line c++ template error than an utterly unhelpful 5 line linker error.

01.08.2025 00:29 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

This is really cool, TUM has a course on transaction systems theory (taught by Thomas Neumann), with open access slides in English. Stumbled upon it when one of the slides showed up in a search for commutative serializability theory.
db.in.tum.de/teaching/ss2...

31.07.2025 02:46 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Bounding retries of write-write conflicts in MVCC+2PL | snowytrees.dev

I wrote up on bounding retries of write-write conflicts in MVCC+2PL. There is surprisingly little publicly written on how databases can retry, so doing my part to fill that gap in :) snowytrees.dev/blog/boundin...

25.07.2025 17:16 β€” πŸ‘ 7    πŸ” 3    πŸ’¬ 0    πŸ“Œ 0
Preview
Off CPU profiling by florianl Β· Pull Request #196 Β· open-telemetry/opentelemetry-ebpf-profiler This is the code that backs #144. It can be reused to add features like requested in #33 and therefore can be an alternative to #192. The idea that enables off CPU profiling is, that perf event and...

Experimental off-cpu profiling landed for otel ebpf profiler πŸ‘€. It also was a blocker for using its stack unwinding as a library. Hopefully that means user space stacktraces and profiling will come soon(ish) to inspektor gadget for interactive perf analysis on kubernetes.

github.com/open-telemet...

15.01.2025 17:49 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Wound/Wait Deadlock-Proof Mutex Design β€” The Linux Kernel documentation

The motivation they cite in the kernel docs is gpu buffer locking www.kernel.org/doc/html/v6....

13.01.2025 03:10 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Was searching around for open source uses of wound wait/wait die and surprisingly found it is used in the Linux kernel github.com/torvalds/lin...

13.01.2025 03:09 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

Yep agreed. I initially mistook synchronous_commit it for a general async durability flag.

08.01.2025 18:22 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

Should have read it closer the first time :) Since it isn’t a system wide setting, my personal way to think about it would be readers aren’t defining durability, they are defining if they allow dirty reads. Since you aren’t wholesale changing the definition of commit (that async dura does)

08.01.2025 03:17 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 2    πŸ“Œ 0

I read deeper into synchronous_commit and it seems like a flavor of early lock release that can be turned on per-txn. But b/c they are encoding commit dependencies by using the wal log, there is no option for non-dirty reads. (If you consider committed to also mean durable).

08.01.2025 02:56 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

So serializability also wouldn’t care about durability.

08.01.2025 01:04 β€” πŸ‘ 3    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

Synchronous commmit means txns are committed after being durable. Isolation levels give guarantees around committed data. So disabling synchronous commit means durability is now separate from the meaning of β€œcommit”. This behavior general to all databases that are ACID and can do async durability.

08.01.2025 01:03 β€” πŸ‘ 7    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Preview
On Transactional Concurrency Control This book contains a number of chapters on transactional database concurrency control.

Since you have the opportunity to build your transaction subsystem from scratch I highly recommend graefe’s on transactional concurrency control. Its got novel ideas, citations going back to the 80s, and some spicy opinions. Pessimistic concurrency control >>> link.springer.com/book/10.1007...

07.01.2025 10:41 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

At singlestore we embed a wasmtime engine and compile/run wasm UDF functions docs.singlestore.com/cloud/refere...
snowflake/databricks support Python udfs. To go along with the notebook workflow

27.12.2024 20:15 β€” πŸ‘ 2    πŸ” 1    πŸ’¬ 0    πŸ“Œ 0

@snowytrees.dev is following 20 prominent accounts