There are a lot of variants on this design out there, I had seen 'bam' but not the Spotify implementation. An additional constraint we had that I didn't allude to in the post was avoiding JNI, which adds some nasty failure modes for remote installations that can be very hard to debug. This meant any C implementation was off-limits for us.
It's unfortunate that using the JVM means that some wheels need to be reinvented, but those are the breaks, I guess.
It's unfortunate that using the JVM means that some wheels need to be reinvented, but those are the breaks, I guess.