Cassandra, lists, and tombstones

We’re using Cassandra for some fallback behaviour in my current project. Whenever a downstream system is successfully hit, we store a copy of the data locally that we can fall back to in case of downsystem failure.

During load tests of the fallback behaviour, we starting getting really long, crazy timeouts on reads.

Continue reading “Cassandra, lists, and tombstones”

Git one liner to list directories changed by a merge or regular commit

I’ve been working on a CI trigger that runs particular jobs depending on which project changed. The tricky aspect is we have a single git repository. So given a commit hash, we want to determine which projects to trigger builds for.

Continue reading “Git one liner to list directories changed by a merge or regular commit”

Assign an automatic JMX port to a Java application

VisualVM and jconsole are two useful tools for debugging JVM issues. However they both rely on a JMX port to be open on the remote instance. You can work around this on the fly by running jstatd on the remote host, but you’ll find certain things disabled. So ideally, the jmx port will be enabled on startup.

Continue reading “Assign an automatic JMX port to a Java application”