Flashback a few years to when this consultant pilot fish is helping to build a mainframe workload system for one of the biggest corporations on the planet.
"I had to write a maintenance program to roll up costs, and roll them to the prior months and years fields as each new month came about," says fish.
"By the time they were finally ready to test my program, I was on another contract, but supporting it in the evenings as paid overtime. One of the permanent employees laid down the base data to allow me all the appropriate groups to roll up."
Fish kicks off the test job. About an hour later, he gets an automated alert: The job has been canceled by data-center operations. It isn't until morning that fish can get through to operations and find out what's going on.
It turns out operations killed the job after it generated at least 30 times as many journal entries as it should have -- filling up 13 tapes -- and it was still chugging along when it was stopped.
Fish investigates. He knows that every time his program rolls up a month, it rewrites a record, which generates a journal entry, plus one extra when it finishes off a year. There are only supposed to be about 250,000 records, so what happened?
"The way I wrote it, the program would roll the month, then add 1 to the month date in the record and compare that to the current month," fish says. "Same with the year, adding 1 to the year counter in the record until it matched the current date.
"But the analyst who laid down the 250,000 test records didn't populate the month and year fields -- he just left them as zero. So each record was processed 10 times rolling months, then 85 times processing years, then it moved on to the next record and did the same...
"The analyst wrote a program to zap those fields to the correct month and year, and then the roll program ran in under five minutes."
Roll with the Shark. Send me your true tale of IT life at firstname.lastname@example.org. You'll score a sharp Shark shirt if I use it. Add your comments below, and read some great old tales in the Sharkives.
Get your daily dose of out-takes from the IT Theater of the Absurd delivered directly to your Inbox. Subscribe now to the Daily Shark Newsletter.