←back to thread

267 points lawik | 3 comments | | HN request time: 0.609s | source
Show context
arnon ◴[] No.42188528[source]
A few years ago, the biggest problem with Erlang's hot code updates was getting the files updated on all of the nodes. Has this been solved or improved in any way?
replies(2): >>42188728 #>>42189232 #
1. comboy ◴[] No.42188728[source]
I don't think updating files is the problem. The biggest issue with hot code updates seems to be that they can create states that cannot be replicated in either release on its own.
replies(2): >>42188800 #>>42189026 #
2. ketralnis ◴[] No.42188800[source]
This is my experience. About 25% of the time I'd encounter a bug that's impossible to reproduce without both versions of the code in memory, and end up restarting the node anyway dropping requests in the process. Whereas if I'd have architected around not having hot code updates I could built it in a way that never has to drop requests
3. faizshah ◴[] No.42189026[source]
In general, you can save your team a lot of ops trouble just by periodically restarting your long running services from scratch instead of trying to keep alive a process or container for a long time.

I’m still new to the erlang/elixir community and I haven’t run it in prod yet but this is my experience coming from Java, Node, and Python.