3 ms·
> You create a PR that fixes the code and the problematic call sites in a single commit. It gets merged and you’re done. What happens when you roll this out an
by iudqnolq 6y ago
> You create a PR that fixes the code and the problematic call sites in a single commit. It gets merged and you’re done.
What happens when you roll this out and partway through the rollout an old version talks to a new version? I thought you still needed backwards compat? I'm a student and I've never worked on a project with no-downtime deploys, so I'm interested in how this can be possible.
- ublaze 6y agoVersion skew is only an issue when there's cross service communication. One service deployed on two different codepaths (in this case, using a different library implementation) is completely fine.
- alexhutcheson 6y agoMy example was a library, so both the library and it’s caller are in the same release artifact (binary/JAR/whatever). If you’re changing the interface of an RPC service, then you can’t do that in a single commit, and need to fall back to something like the second approach, but with even more caution to make sure you properly account for releases and the possibility of rollbacks.