David Brevik on Server Issues

Definitively agree on the documentation thing. Documentation is language that can be interpreted in various ways. Source code is a strongly typed language that will do exactly what it says it does. You want to code in such a way that it’s easy to read the code, because that is the source of truth. Most of the time you feel like you need to document something is because you wrote something in a messy way so it’s hard to understand the code. Then clean up the code instead.

This is only one side of the story. We dunno why they weren’t contacted. Back in the day, few had internet and most played offline, so the original code network handling probably needs improvements to work with todays usage.

Code can be clean and still not accessible to the reader. For example a procedure might cut off from message payload which is understandable, but it does not explain why the payload is being cut. Either you write a comment or the reader is required to read more code for context and if this cut off is due to a bugfix the reader might never understand without a ticket reference in a comment.

They might be better off writhing a new one.

1 Like

If we are to believe Blizzard’s own, long explanation, it is mostly ALL database issues, namely global vs regional, and backup vs update code, and too many concurrent users. They even acknowledged that they screwed up when setting up the backup database as “primary” they forgot to tell it to stop “backing up”…

Did you guys even read it before coming here?

1 Like

and how does this make anything better for the people that paid money and cant play?

such issues can happen to newbs doing their first online game. not to a company like blizzard with its experience.

1 Like

Some yes and i did but not everyone.

If you exclude the rep of blizzard.

They are also humans.

sure.

but when you work for decades on the “same” thing you should get some experience, which should flow into working processes. the working processes should make it impossible, that human mistakes can result in such problems.

I think it is 20 year old code and there’s no one at Blizzard that knows it well, since they 've had no one looking after it. They just decided to go with D2R and this is what happens when you use something which you do not understand and cannot repair.

1 Like

Yes , but what is unexplainable is they didnt even imho :
1- Say in clear words they inted to fix this queue problem in a definitive way.
2-Post a roadmap.

I dont understand this singleton explanation. So divide it, synchronize etc. or even make a facade and forward requests to some more modern layer. ~ a month time should be enough to write soemthign, or at least have a definitive roadmap, after some very deep code digging.

I kid you not, HRs are wasting their time in LinkedIn - this forum is a goldmine for db architects and backend devs

You’re joking but that may actually be true :smile:

  1. Not sure what you mean by that… I think their strategy and plan of attack was perfectly described in the bluepost.
  2. Roadmap would be good when they are clear with a scope of work.

I can’t say “month is enough” since I have no clue how this project looks like, not sure how you can estimate it just like that.

To me it looks as if:

1- They dont have any idea how to really fix this.
2- The fix would be so time and work intensive the Execs have decided to do just some small fixes and wait till the number of players diminishes.

1 Like

Can you link it? Maybe i havent read the right one.

Ok In my 15 years as a bussiness Java developer I havent been in a project where a modification alogn with the “archeologic” code digging couldnt be estimated in a month time. Sure i can be wrong, but it looks weird to me. Im not talkign about rock solid estimates which dont exist lol but an aproximation. Is it a month or 2 months? What are the stages?

Here ya go. Ah yes, if you are talking just about estimating and forming some comprehensive plan - 1 month should be enough, I think.
Diablo II: Resurrected Outages: An explanation, how we’ve been working on it, and how we’re moving forward - General Discussion - Diablo 2 Resurrected Forums (blizzard.com)

Thank you. No idea why, but I have only read parts of this post before, not the full one.Ashamed to say i was a bit lazy and havent searched very hard. You are right they described pretty much what they are doing and it sounds good. I will scratch my ego by saying they even do what i loosely suggested lol

Breaking out critical pieces of functionality into smaller services:

Also

Right now we are writing code to change how we do this entirely, so we will almost never be saving to the global database, which will significantly reduce the load on that server, but that is an architecture redesign which will take some time to build, test, then implement.

Yeah so seems they are aiming to rewrite all the problematic stuff and fix it for good, which is good:). And obviously it takes time. So yeah the only stuff missing for me to feel as ok (or as ok as possible in this 40$ little f****p) is an approximate roadmap. I would be then willing to wait and not whine anymore, s**t happens, specially in software world.

2 Likes

Oh, you are not the only one :slight_smile: Have you seen how many topics are here with claims like “just buy more servers!!” :smiley:

You mentioned that you’ve been working in this industry for 15 years… so no wonder you were suggesting microservices, so it is fine to scratch your ego in this case ) I wonder why Blizz didn’t pay enough attention to the scalability of their product.

1 Like

I think the top brass was seriously taken by surprise by the scale of the success

I dont think its the case here but interesting thing is the microservices, altough full of benefits, are not the remedy for all problems and can even sometimes degrade performance if used in a bad way ( you do actually add the comunication costs for all the pieces you split your apllication into). But its not the thread for such a discussion, and alsoi dont think its the case here, from the very few details we have heard. Just wanted to add as a curiosity , as the ultra hype for microservices starts to cool down, poeple as alwys start to notice the dark side, there is never a silver bullet:)

Can’t say that there is a “hype” around microservices now ) It was just a tool that hugely boosted the scalability of the software at some point so everyone got very excited and, as result, it was sometimes overused :smiley: It’s like when “Agile” appeared in project management… I still have PTSD from that.
What is weird here - Blizz have the experience of building and maintaining MMO games, they should’ve been prepared to scope the db and communication layer changes properly, especially that they knew that they are moving to the new battlenet and there’ll be a spike in users.

1 Like