Myrm wrote:TorTorden wrote:Patch ? God I hope they have a patch coming.
A patch? What do they need a patch for? They only released the update yesterday.
That's the problem with Beta servers and switchovers. They don't always get the full diff and/or there are unforeseen integration issues, especially when the rules and run-time are utterly different.
A better solution might be to introduce a 3rd set of servers and opt-in ...
- Beta Test (weeks upon weeks, multi-stage)
-
Acceptance Test (only a few days) - Production
► Show Spoiler
So instead of a full cut-over from Beta to Production, where they shut down Beta and everyone is now on Production -- which is not running the same codebase as the new Production -- they have an Acceptance set that matches the new Production instance, verbatim. I.e., full production instances to a subset of opt-in users, with the same codebase that matches production.
The 2.1 Beta didn't have all the logic of Production. Acceptance does. The idea is that you have people opt-in to acceptance test, and there is no guarantee of persistence, if they have to "yank the plug" if they discover any issues. They would have caught all three (3) of these issues, easily and handily, with the subset of users.
Even better ... they would have only had to shutdown the Acceptance Test servers, and kick users back to Production (or Beta), if there was an issue.
In fact, most Acceptance Testing is often done on a Production 1 and Production 2 rotation. I.e., the Acceptance Test servers are actually the next Production servers. E.g., in many environments, it's not a cut-over, but a rotation. X (small set) Acceptance Test servers, to Y (large set) Production servers, then Y-Z=X (existing Production) and X+Z=Y (new Production, formerly Acceptance), where Z (large subset) is the servers that are taken off-line to get the new codebase for the actual changeover without having to take down the environment (just reduction in availability), once the Acceptance Test is verified.
Even better ... this allow people on the old Client version to be assigned to the existing Production servers the Frontier, Steam and other propogation and installation of the Client is complete. It, of course, requires Client and Proxy-Server modifications, but it's something they should aim for in version 3 (the next season).
E.g., the biggest issue is the fact that -- as I understand it -- there is still just 1 persistent galaxy when it comes to procedurally generated systems and worlds, including assigning discovery. Correct me if I'm wrong. Unless, of course, progress in the Beta is rolled back ... including discovering systems and worlds. Then it is separate.
Side Note: Progress roll-back -- in case the first Acceptance Test fails -- may or may not be feasible, depending -- but they could "snapshot" (really more like a "fork") a CMDR's state prior to Acceptance if progress would break a return to Production without the updates. That would be part of the Opt-in agreement, especially since only the "Acceptance Universe" is affected. If no issues with the Acceptance Test, then the Progress could be maintained, as the Acceptance Test servers are the new Production Servers, a reward for those extra 24-72 hours for helping with the Acceptance Testing.
Of course, it's easy to be an armchair DevOps guy.
I could be totally ignorant of both some serious concurrency and convergence aspects that makes it impossible. But I've done this for software defined networking and storage (SDN/SDS) -- two things that cannot be out-of-sync without data loss -- and while it takes some effort in the design, the payoffs are well worth it.
As always, I prefer
not to complain, but to understand ... even offer solutions (again, from ignorance, but I will any way).