42

1. Fucking MySQL database clusters.

There's nothing fun about MySQL clusters. Sometimes they start producing deadlock errors for no apparent reason... well, there's probably a reason, but it's never a transparent easy to find reason.

What was even less fun is that those errors took down a Sentry server. When your error log server goes down through ddos from your database messages, it's time to rethink your setup.

2. Wiring up a large factory with $2 arduino clones, each with a $2 esp8266 wifi chip, with various sensors for measuring flow of chemical solutions (I wanted cheap real time monitoring as an early warning system next to periodic sampling).

The scaling issue was getting over 500 streaming wifi signals to work in a 55c moist slightly corrosive atmosphere with concrete and steel everywhere, and getting it all into a single InfluxDB instance for analysis.

Comments
  • 0
    Does it have to be MySQL, even MariaDB would be better
  • 0
    Galera?
  • 2
    @Linux @windlessuser Was trying to port to MariaDB/MaxScale, but there were still some compatibility issues back then. Very soon after that I thought "Fuck this I'm a backend guy, not DevOps / sysadmin", so currently I have no idea what we're using, just that someone fixed it and that it still works under 10x load.
  • 0
  • 2
    @Linux Apparently it's a 15x r4.xlarge Amazon Aurora cluster now... I'm just happy I'm neither maintaining nor paying.
  • 0
    postgresql werent an option too? and did you use udp datagrams?
  • 2
    @stop In principle, if you use a good ORM, you can swap databases without any problems... right?

    But in 36M lines of PHP/Laravel, 12M lines of Python and a dozen repositories using Golang, Haskell, Node, etc, there are a LOT of raw MySQL queries, with plenty of esoteric version specific trickery.
  • 1
    @bittersweet oh i didnt know how much the code smelled.
  • 1
    Aw man. Your job sounds way cool.
  • 0
    @bittersweet that’s crazy overkill. It’s better to fix the codesmells
  • 0
    Why does it need 15 replicas , what sort of life and death data is this?
  • 1
    @stop @windlessuser The code smelling is actually kind of OK at this company — but the product is complex, and the userbase grew explosively. With optimization it could probably still be 25-50% of what it is now.
Add Comment