Latest
“It Stars C. Thomas Howell. No.” Why AI Gets Stuck in a LoopShould You Query or Self-Publish Your Memoir If You’re Not Famous?Judge the Writing, Not the Tool: What the AI Pile-Ons Get WrongThiago Ferreira: Thinkers, Not DoersYana Semova: Let AI Do the AdminLisa Hamilton-Smith: Unstoppable, AI AssistedSuperman Day: The $130 Contract Behind the CapeF. Scott Fitzgerald Day: The Masterpiece That FloppedRaymond Chandler Day: The Novelist Who Started at FiftyJohn Steinbeck Day: The Reporter Who Wrote the NovelInternational Translation Day: The Invisible AuthorsMaya Angelou Day: The Dare That Became a MemoirNational Podcast Day: The Interview Is the Raw MaterialKurt Vonnegut Day: The Book That Took Twenty YearsTell a Fairy Tale Day: The Stories Everybody EditedHarry Potter’s Birthday: The Book Twelve Publishers MissedHarper Lee Day: The Draft Her Editor Saw ThroughGene Roddenberry Day: The Pilot Who Pitched the StarsRoald Dahl Day: Six Pencils and a Grudge Against Grown-UpsInternational Literacy Day: The Readers Books LoseJack Kerouac Day: The Scroll and the Last AddressIan Fleming Day: Two Thousand Words a MorningStephen King Day: The Daily Two ThousandZora Neale Hurston Day: The Ear She TrainedFyodor Dostoevsky Day: The Novels Written Against the ClockEmily Dickinson Day: The Poems in the DrawerRobert E. Howard Day: The Texan Who Built ConanAlice’s Day: The Story Told on a Rowing BoatNational Library Lovers Month: The Building a Town Pays ForBack to the Future Day: The Script Where Everything Pays OffEncourage a Young Writer Day: The Adult Who Read the PagesElmore Leonard Day: Leave Out the Part Readers SkipElmore Leonard’s 10 Rules of Writing, and Which Ones I BreakShould Your Novel Have a Prologue? When a Cold Open Earns Its Place“People Who Use AI Deserve to Be Castrated”: When the Sentence Outruns the CrimeHow Famous Memoirs Were Really Written: What the Collaborators DidFlorida RoadkillThe Bell JarBeneath a Scarlet SkyOpen: An AutobiographyCampus BattlefieldLifeThe Phone Book: The Curious History of the Book That Everyone Uses But No One ReadsIt Doesn’t Take a HeroThe MAGA DoctrineThe Sage of SagittariusDid I Ever Tell You This?: A MemoirPa’anAmerican SoldierMake Your Bed: Little Things That Can Change Your Life…And Maybe the World

Three Days Down Over a Filename

TL;DR: A few months into the job, the system went down and stayed down for three days. The cause was a log filename change so trivial nobody thought to mention it. The new name format contained a character the operating system considered illegal, the programs couldn’t create their logs, and they simply stopped, leaving no logs to debug with. The fix took one command. Finding it took one question, asked three sleepless days too late: what changed?

A few months after I was hired to run the systems, I made what looked like the most boring request in IT. Our application logs were named with meaningless numbers, and hunting the right log meant guessing. I asked the programmers, a consulting firm writing the applications in a dialect of BASIC, to make the log names rational: include the program name, the date, something a human could read.

They did. They built the new name as program name, dot, date, dot, file type. Perfectly sensible. Except the operating system we ran permitted exactly one dot in a filename, name dot type, and the new format contained two. Every filename the change produced was illegal.

I’ve never let myself forget that I asked for that change. The programmers built exactly what I requested, and nobody in the room, me included, stopped to ask what the operating system would do with it. That part still stings.

Three days in the dark

The morning after the change went live, the system didn’t come up. Not partially, not with errors we could chase. It simply didn’t come up, and the exquisite part was that there were no logs to tell us why, because the failure was the logging. Each program started and attempted to create its log file. The operating system refused, and the program stopped dead. The diagnostic trail and the disease were the same thing.

We spent three days down, three days awake, hunting a catastrophe. That’s what you hunt when the system is dead: something big, something structural. We were archaeologists looking for an earthquake, and the actual cause was a punctuation mark.

The diagnostic trail and the disease were the same thing.

Operations teams reward whoever finds the deep, clever cause, and mine was no different. So everyone went hunting for one, and the boring question sat unasked while the business stayed dark for another day. I think that instinct costs companies more downtime than any hardware failure does.

On the third day I got smart in the way you only get smart after exhaustion has burned off your assumptions.

I gathered everybody and asked one question: tell me every single thing that changed. One person offered a library update, not it. Another offered something else, not it. And then someone mentioned, almost in passing, that the log filenames had changed, and described the format. Back out that change, I said. He did. We were up. That was the problem. That was it.

My take

Ask what changed, first, every time. A system dies, everyone goes hunting for something big and clever, and the boring question sits unasked. Our three-day outage came from a log filename with one dot too many, a change I’d asked for myself. One command fixed it. Make every person in the room list every change, however trivial. Small edits like that cause more outages than the dramatic failures people go looking for.

Three days down, itemizedA hand-drawn timeline titled Three days down, itemized, a timeline of one extra dot. At the top, a log filename reads name dot date dot type, with the second dot circled in red: dots the operating system allows, one; dots in the new name, two. The timeline starts when the log filename change goes live, too small to mention. The next morning the system will not come up and there are no logs, because the logs were the problem. A long dark band marked system down covers three days of hunting an earthquake, something big and structural, while the boring question goes unasked. A dotted marker in the first ten minutes notes when what changed could have been asked. On day three someone asks to hear every single thing that changed: a library update, not it; the log filenames, back it out; and the system is up. A receipt at the bottom tallies characters changed, one dot; downtime, seventy plus hours; cost per character, seventy plus hours per dot; sleep, none; and the fix, one command.Three days down, itemized(a timeline of one extra dot)name.date.typeDots the OS allows: 1Dots in the new name: 2DAY 1: DOWNDAY 2: DOWNDAY 3: DOWNUP.first 10 minutes: when "whatchanged?" could have been askedLog filename changegoes live(too small to mention)Morning: system will notcome up. No logs.(The logs were the problem.)Hunting an earthquake:something big,something structuralStill dark. The boringquestion: unasked."Tell me every singlething that changed."Library update? Not it.Log filenames? Back it out.RECEIPT: ONE RENAMED FILECharacters changed1 dotDowntime70+ hoursCost per character70+ hrs per dotSleepnoneThe fixone command
Three days down, itemizedA hand-drawn timeline titled Three days down, itemized, a timeline of one extra dot. At the top, a log filename reads name dot date dot type, with the second dot circled in red: dots the operating system allows, one; dots in the new name, two. The timeline starts when the log filename change goes live, too small to mention. The next morning the system will not come up and there are no logs, because the logs were the problem. A long dark band marked system down covers three days of hunting an earthquake, something big and structural, while the boring question goes unasked. A dotted marker in the first ten minutes notes when what changed could have been asked. On day three someone asks to hear every single thing that changed: a library update, not it; the log filenames, back it out; and the system is up. A receipt at the bottom tallies characters changed, one dot; downtime, seventy plus hours; cost per character, seventy plus hours per dot; sleep, none; and the fix, one command.Three days down, itemized(a timeline of one extra dot)name.date.typeOS allows: 1 dot.New name: 2 dots.SYSTEM DOWNChange goes live(too small to mention)Morning: will not come up.No logs. (The logs werethe problem.)First 10 minutes: when "whatchanged?" could have been askedDay 1 to 3: hunting anearthquake. Something big,something structural.Still dark. Boring question:unasked.Day 3: "Tell me every singlething that changed."Library update? Not it.Log filenames? Back it out.UP.RECEIPT: ONE RENAMED FILECharacters changed1 dotDowntime70+ hoursCost per character70+ hrs per dotSleepnoneThe fixone command
We spent three days hunting an earthquake. The cause was a punctuation mark.
Share on X

How does a filename change cause a three-day outage?

Everything about that outage was out of proportion.

A change too small to document took down the entire company for three days. The fix was one reversal, and the search for it consumed seventy-plus hours of downtime and every ounce of the team’s credibility. The question that solved it, what changed, cost nothing and could have been asked in the first ten minutes. I’m still irritated about those ten minutes.

Most of the worst outages I saw across twenty years of disaster recovery work traced back to something this size: a config line, a permission, a dot.

The operational lesson became doctrine for me in two parts. First, when a system that worked yesterday fails today, the first question isn’t “what’s broken,” it is “what changed,” asked of every person who could have changed anything, before any deeper archaeology begins. The answer is usually in the room and usually sounds too small to matter, so nobody volunteers it.

Second, changes get tested before they go live, all of them, with no change too trivial to qualify, because the filename change was exactly the kind that skips testing on the grounds of obvious harmlessness. I pushed for rigid test procedures after that, and got most of what I asked for; a funded staging environment eluded me. That taught its own lesson about how quickly organizations forget three-day outages once the systems hum again.

If you run a company, you need someone who can tell you what changed last night within five minutes of everything stopping. The phrase “it’s just a small change” is a warning sign. Every team that uses it to skip testing is betting the whole company on a guess, and the people who pay are the ones awake at the console and the customers who can’t be served.

For more from this series, see The Disaster Recovery Hub: real disasters, real recoveries, and the plans that survive contact with reality.

Frequently Asked Questions

What usually causes major system outages?
Disproportionately small changes: configuration lines, permissions, naming formats. In this incident a two-character difference in log filenames, illegal on the operating system, stopped every program at startup for three days.
What is the first question to ask when a system goes down?
What changed. Ask it of everyone who could have changed anything before beginning deeper diagnosis. Most sudden failures of previously working systems trace to a recent change that sounded too trivial to mention.
Why do trivial changes skip testing?
Because they look obviously harmless, and obviousness is the camouflage. Effective change control tests everything that touches production, with no triviality exemption, because harm doesn’t scale with apparent size.

About the Author
Richard Lowe, professional ghostwriter

Richard Lowe is a professional ghostwriter and author with 113+ books authored and 54+ ghostwritten. Before writing full time he spent 33 years in enterprise technology, including 20 years as Director of Computer Operations and Technical Services at Trader Joe's. He writes nonfiction, fiction and memoir, and works with executives and experts on books that build authority.

More about Richard Lowe →

Disclaimer

The views and opinions expressed in this blog post are solely those of Richard Lowe and are based on personal experience and research. This content is for informational purposes only and should not be construed as professional legal, financial, accounting, or business advice. Always consult with qualified professionals before making important business or legal decisions. Richard Lowe is not a lawyer, accountant, or licensed professional advisor, and this content does not establish any professional relationship.