← back to the pitch

Field Notes.

A team publication on Byline. Issue 63.

31

claps. 6 of your quarterly 50 remain.

Standup, filed the 3rd

Q3 Migration: A Personal Accounting

The cutover was scheduled for a Tuesday. I would like to talk about the Tuesday.

The migration was scheduled for the third. It did not happen on the third. What follows is an account of the week as I experienced it, filed under the understanding that my team will read roughly the first four paragraphs and then look for the part where I say a date.

I want to be careful here, because the version of this story I told in the channel on Wednesday was shorter and, in retrospect, more flattering. The desk has asked me to slow down and show the reasoning. So I am going to show the reasoning, and the reasoning is going to take eleven minutes.

What actually happened

We had two clusters, and we had a plan to have one cluster. The plan assumed that the read replicas would drain on their own schedule, which they did, and that the write path would follow, which it did not. Somewhere around four in the afternoon my time, which is the middle of the night for two thirds of the people who could have told me this was going to happen, the write path began queueing instead of failing.

Queueing instead of failing is the worst available outcome, because nothing alerts and everything is wrong. The dashboards were green for six hours. I would like the record to show that the dashboards being green is not the same as the system being fine, and that I have now said this in writing three quarters running.

By the morning we had a backlog of about nine hours and a decision to make about whether to replay it in order. We replayed it in order. That took the rest of Thursday, which is the reason there was no standup on Thursday, which is the reason I am filing this at eleven hundred words instead of two hundred.

Blockers

Three things are still open, and two of them are other people's, which I say without accusation and with a certain amount of accusation.

The first is that the write path still queues silently under load. We have a ticket. The ticket has been in the backlog since April and has been groomed four times, each time successfully, in the sense that it remained in the backlog.

The second is that I do not have the credentials to roll back the schema myself, which means every rollback goes through a person in a timezone eight hours ahead of me who is, correctly, asleep when I need them. I have asked for the credentials twice. I have been told twice that this is a process question.

The third is mine. I did not read the runbook closely enough before the cutover, and the runbook did say something about the write path, in a note, at the bottom, under a heading about something else.

Members only

The blockers are behind the paywall.

Field Notes gives every reader three free pieces a month. You have opened two. Blockers, incident notes and anything filed under a Friday count toward the same allowance.

2 of 3 free reads left this month
Subscribe to Field Notes

What I need

A decision on the credentials by Friday, and someone other than me to own the ticket about silent queueing. I will file again on the tenth. If the write path does the same thing before then, the piece will be shorter and the tone will be different.