Mark followed her. The ruined pasta started her crying again. “Don’t worry about it. Here. I’ll clean it all up and make some more.” He handed her a glass of the wine. “Relax. I’ll take care of it, and serve it to you. It’s the least I can do for being such an asshole.”
She took her glass silently, then walked out to the living room and slumped on the couch, averting her eyes from the laptop and other equipment still strewn on the coffee table.
Mark started some more pasta in a clean pot and began cleaning up the ruined batch. He’d do all he could to ease the pain he’d caused Sheila, and to salvage the anniversary celebration she had planned for them. He scrubbed the pot harder, making a penance of it.
Sheila awoke the next day alone in bed. She sniffed the air. Smoky bacon. Mark was making their breakfast. She stretched up and peered out the curtains over the bed. Dark and gray, with some snow falling. A good day to just stay in by a cozy fire.
She thought about last night, and the cruel things Mark had said. Was it the tension talking, or had he started to change? Maybe she should try to talk him into quitting, into finding a more normal job. But how could she do it in a way that wouldn’t sound like she’d lost faith in his ability to pull it off?
Perhaps it was best to leave it alone for now, and just try to enjoy their weekend after the rough start. God knew when they’d have time together without email again.
Mark stepped into the bedroom, carrying a plate with bacon and fried eggs, done exactly how she liked them. Crispy edges on the whites of the eggs, firm yolks. He also had a mug of steaming black coffee for her. He set it all down on the nightstand table, then sat on the bed next to her. “Hope you like it. Happy anniversary, hon.” He kissed her tentatively, as if awaiting her reaction. “We can eat in here if you like, or I can put it out on the dining table.”
“Let’s eat in here. We never get to eat in bed.” She gave a small smile.
“Sure. I’ll go get mine.” Mark got up and brought back his food and coffee, and some paper towels.
“It’s snowing out,” said Sheila.
“It is? I hadn’t looked out the curtains. What do you want to do today?”
“Let’s build a fire in that huge fireplace, and just stay in.” She looked at him, trying to measure his mood. “And can we agree to not talk about work the rest of the weekend?”
“Sounds perfect.” He hesitated. “I love you, Sheila. Very much. You have my undivided attention.”
Sheila mentally completed his sentence: for the weekend. She sipped her coffee and tried to keep Monday out of her thoughts.
CHAPTER 8
Careful not to wake Sheila, Mark stepped quietly down the hall to his home office in the pre-dawn gloom. The trip home from the mountain cabin last night had started out painfully tedious, with thick blowing snow at the higher elevations. Below about three thousand feet, the snow had changed over to driving rain, transforming a four-hour drive home into a six-hour endurance test.
The drive capped an already flawed weekend with a sour note. Despite Mark’s best efforts to turn things around, tension and words left unsaid bubbled below the surface the entire time. He shook his head as he again tried to think of a solution to his growing distance from Sheila—OneMarket loomed as a brick wall to every option. But he’d never allowed himself to give up and quit before. Somehow he’d figure out a way to make it all work.
Mark sat down at his desk and switched on the lamp. He raised the lid on his laptop with trepidation; he hadn’t checked it for email when they got home last night. It had been so late, and they were so tired and frustrated, he just blew it off.
It was worse than he feared.
Three urgent emails, auto-generated by the monitoring utility, accused him of negligence in bold red font. The first two were time-stamped during their drive home from the cabin. The third was time-stamped about twenty minutes ago.
“Oh, my God,” he muttered as he quickly read the alerts in the order received. The first one indicated the connection pool counts had reached his watch point; the second indicated that they had exceeded that level by ten percent. The most recent one indicated that they were now fifteen percent above his watch point.
He checked the time: five-thirty. Trading volumes would pick up considerably in only a couple of hours, when the United States markets added their daily activity spikes to the load. That would surely drive the connection pools well over their hard limits.
Mark slammed the laptop closed and ran to their bedroom. He threw off his robe and quickly pulled on the first pair of pants and shirt that he saw.
Sheila raised her head, awakened by the commotion. “What’s going on?” she asked groggily.
“Gotta go. App’s in trouble.” Mark rushed out without waiting for her to respond.
He jumped into the 4Runner, started it up and stomped on the accelerator. He took the residential streets at about forty miles an hour, glad it was still so early. No toddlers darting into the streets to retrieve errant toys. He grabbed his cell, speed-dialed Terry without moving his eyes from the road, and slapped the phone against his ear.
“Terry speaking.”
“It’s Mark. The connection pools are shooting up, and we don’t have long before we hit our daily activity peaks. I’m on my way right now. Where are you?”
“Already here. The disk queues are up, too. Hurry in. This is a mess, worst I’ve seen. We’re gonna need help on this one. I’ll start making calls.”
“Thanks. See you soon.”
Mark heard his tires squeal in protest as he took the on-ramp turn too fast. They should have gone home when he found there was no phone in that place. They would have beaten the bad weather, and they would have beaten the auto-alerts, too. Something was going on, something he should have prevented. And now OMTrade was in real danger of crashing.
They’d have to diagnose—and fix—the problem almost immediately to stand any chance of keeping the app up. He still didn’t know the underlying code as well as Terry. He hoped Terry had some good ideas of what was causing this.
Mark found himself riding the bumper of the car in front of him in the fast lane. He flashed his lights, but the car refused to move over. He shot into the number two lane to pass, skidding a little on the still-wet pavement and nearly clipping a pickup truck. The car he passed flashed its lights at him when he cut back in front of it. He ignored it and sped along at eighty miles an hour, hoping the cops were on a doughnut break.
When he arrived at OneMarket, he headed straight for Terry’s cube. “What’s it doing now?”
Terry turned to him, his hair disheveled and his glasses smudged. “Man, this is bad. Just got off the phone with the call center supervisor. Logons are starting to reject because of the queues filling up. Reyes already poked his head in, asking where you were. He looked pissed, and I’m sure Harris has heard about it by now. I don’t know what’s causing this.” He turned back to his computer screen, where he had four different graphs up, each one blinking, showing critical levels had been reached.
“Have you checked with the database guys yet?”
“No, been too busy fending off Reyes and the call center people. Can you call them?”
“Sure.” Mark went into his cube and called the lead database administrator for the application. “Sanjay? It’s Mark Weston. What’re you seeing on OMTrade right now?”
“Table locks. Lots of ’em. I’d say you have a rogue process to kill.”
“Thanks.” Feeling useful for the first time that day, Mark stepped into Terry’s cube to relay the information.
Terry spoke without taking his eyes off the computer screen, as if he were trying to keep the app up through sheer force of will. “We have two choices. Take the time to find the rogue, kill it, and hope that’s enough. But there may be more processes behind it, stuck and ready to block those behind them.” He pushed back in his chair and stretched his shoulders, still watching the screen. “Or just down the app and let it recycle. That’s the b
est way to clear it out and regain stability. But it’s downtime—Reyes’ll shit.”
“Yeah, but if killing the process doesn’t cut it, we’ll have to down it anyway—if it doesn’t crash on its own first.”
“Let’s cut our losses and down it.”
“Don’t we need to get Reyes’ approval on that? I’d just as soon not piss him off any more than necessary.”
“No time. I’m doing it now.”
It only took a few quick entries and clicks for Terry to force OMTrade down; it seemed such a trivial set of commands to shut off OneMarket’s bread and butter around the world. Mark could almost hear the seconds of downtime ticking off as he watched Terry verify that all the processes had stopped cleanly.
He wondered if they’d done the right thing not getting Reyes’ buy-in. But that would have cost even more time. No way to win. He kept silent while Terry quickly scanned the connection pool and disk queues for any rogue relics. Then Terry rapidly typed a command, sat back and seemed to breathe for the first time in the last hour.
“OK, it’s coming back up now—hopefully,” said Terry. Then he looked up at Mark and paused, as if thinking how to word his next remark. “Um, I have to ask this, and I have to tell you Reyes will ask it, and none too delicately. Why weren’t you watching OMTrade last night?”
Mark could feel the blood draining from his face as he made a horrible connection. “I thought you had agreed to watch it for me through last night.”
“I thought you’d said through noon Sunday, so I only monitored your components through noon. God, the connection was so bad—I’m sorry.”
“I’m sorry. I never should have asked you to do it. I shouldn’t have stayed there with no email access.”
“You needed some quality time with Sheila—I understand. I’d have watched it longer, I just misheard you. We need to figure out what to say to Reyes. He’s gonna show up guns blazing on this.”
Terry turned back to his computer screen to check on progress. “OK, it’s back up. First, I’m going to dump the pending orders into a separate file before new orders start to come in. Hang on a minute… OK, there.”
“That’s the file of the orders waiting to trade when OMTrade went south, right?” asked Mark.
“Yep. And now every single one of them is going to require intervention. Everyone who had an order in will need to be contacted to have the situation explained to them. Then they’ll need to decide if they still want to have the order executed, or if they want to cancel it because the price moved on them. Once we add the contact information to the file, the call center will work the list, since they’re licensed to talk to clients. Then we’ll have to process the requests manually through the system. It’s a big pile of work. Looks like there were a few thousand unexecuted orders at that point in time. Guess it could have been worse.”
“I don’t want to think about how much this is going to cost OneMarket—both in penalty fees and the extra recovery work.”
“Don’t worry—I’m sure Reyes will be more than happy to give us those details, and more. You can be sure the only reason he hasn’t been back to visit us is he knows that would have cost more downtime. I’ll do the talking when he shows, OK?”
“Thanks, I appreciate it.”
A short time after they started working on the order file, Reyes showed up and asked curtly, “Where do we stand?”
“We’re getting the pending orders ready for the call center to contact the subscribers for instructions,” said Terry.
“How long were we down?”
“About five minutes. We had to recycle the app.”
“And how long was OMTrade technically up, yet useless?” Reyes glared at them both.
“We’re still evaluating that. Right now, we’re focused on resolving the pending orders.”
“Resolve the orders first, as you are. Both of you plan on meeting with me at five o’clock. I want a complete explanation of what led to this, how long OMTrade was essentially inoperative, and why.” He turned and walked away without another word.
They spent most of the day working on the file and coordinating their processing with instructions from the call center. It was tedious and time-sensitive work, but it mercifully kept Mark’s mind off the meeting with Reyes for a while.
Finally, the last order was processed and they both sat back in their chairs and stretched. Mark realized he was a little shaky—neither of them had eaten all day. Less than an hour remained before they had to face Reyes. “Terry, what’re we going to say to Reyes?”
“Well, this is the worst downtime for OMTrade since I’ve been here, so I’m expecting it to be a pretty ugly meeting. And the coverage gap is going to be a problem, of course.”
“My fault.”
“You did try to cover it—and I feel partly to blame for not making sure I heard you right. I’d like to try to deflect the coverage issue today, if I can.”
“Do you think that’s realistic? I’ll bet he’s ready to tear into that—as he should be.”
“There are a number of other things we need to address immediately. We need Applications to work on diagnosing which process went rogue and what conditions led to that. Then they’ll need to develop a fix. Someone from Quality Assurance will have to plan the regression testing, and we’ll have to put the fix into production. None of these are trivial matters—these people are already committed to other projects and will have to be redeployed. Reyes’ll have to get busy coordinating all that, and fast. We can’t have this happen again because we didn’t jump on the fix.”
“I appreciate your help. I won’t screw up again, I swear.” All he could do at that point was hope Terry wasn’t being overly optimistic about controlling the conversation with Reyes.
CHAPTER 9
“Sit down.” Reyes’ facial expression left no doubt in Mark’s mind that he’d been right to dread this meeting. He scowled as if he wanted to reach over his desk and throttle them both. His lips were pressed together so tightly they formed a straight line across his face. Harris had undoubtedly given him a good ass-chewing. And now it was going to flow downhill.
“I trust all the pending orders have been resolved?” Reyes’ clipped tones revealed a fury barely masked with a veneer of professionalism.
Terry sat straight and poker-faced in his chair. Somehow he managed to exude calm. Mark wondered how many times he had been through this before.
“Yes, every one has been either processed or cancelled. Completely caught up.”
“How long did that take?”
“About an hour for us to enhance the file and get it to the call center. The contacts were all completed about an hour ago. We manually processed each order as they relayed instructions. I don’t know how many people they used in the call center to work this. They should be able to quantify their time and costs.”
Reyes unbuttoned his cuffs and rolled up his crisp white shirt sleeves, settling in for the interrogation. “And we were officially down for five minutes. How long was OMTrade not fully functional?”
Mark could feel a trickle of sweat under his arms. He realized he’d neither bathed nor applied deodorant this morning in his haste to get in. He wondered if Terry’s grand plan of deflection was going to work after all; Reyes was clearly running the show.
“For about twenty minutes before it went down. The call center started receiving reports of dropped logons about then.”
Reyes leaned forward, a motion that had never before felt so threatening to Mark. “Logons don’t suddenly drop—there had to have been warning signs in the monitors before that.”
“There were. The connection pools and disk queues had been rising, but not alarmingly so until right before the login drops started. We had a rogue process that was blocking, and when the U.S. markets hit their early-day volume peaks, that sent it over the edge.”
Terry was smooth—and still looked completely unruffled. Mark hoped the deflection held.
“Why the rogue? Why today?”
r /> “We don’t know. We need you to authorize resources to identify the root cause.” Terry then outlined what he needed to diagnose and fix the problem.
“I’ll get the authorizations within the hour. We can’t have this happen again. We just used up our annual downtime allowance in one incident. Harris is understandably upset. If OMTrade so much as blinks now, the financial penalties kick in.” He turned to Mark. “You’ve been quiet. Do you have anything to add?”
“No, sir. Terry covered it all.” Less said, the better. And never again would he dare be without working communication links.
Sheila sat at her dining room table with Molly. Their dinner sat in the oven at holding temperature. “Well, he’s late again. What a shock.”
“Does he do this often?” asked Molly as she idly folded her paper napkin into progressively smaller rectangles.
“Oh, he’s late most days, and he ran out the door so fast this morning I didn’t get to say a word to him. Wonder if he even remembered you were coming over tonight.” Sheila took another sip of wine, then sat with her chin resting in her hands.
“Why don’t you call him?”
Leave it to Molly to ask such a naïve question. “Yeah, right. Last time I tried that he gave me a ration for interrupting him at work. It’s not worth it. He can eat leftovers if and when he decides to show. Let’s eat—come help me.”
As they went to the kitchen, Molly asked, “Well, why do you put up with it?”
Sheila glanced at her sister, standing barefoot in the kitchen doorway dressed in a slim, calf-length floral skirt and a nubby natural cotton shirt—somehow looking effortlessly chic in thrift store clothes. She put on her mitts and retrieved the baked ziti from the oven. “Because I feel responsible, that’s why. Hell, this pan is barely warm now,” she grumbled, then gestured with her chin toward the refrigerator. “Salad’s in there. Grab it, please.”
Looking stunned, Molly followed her out to the dining room with the salad. “Why?”
Sheila put the ziti pan on the table and sighed. “I pressed him to get the job. For the money to pay down the debt from Dad’s illness, all right? Between that and my test results, the money was too good to pass up. So now they’ve got him working so hard, he’s too busy to do much else.”
The Genesis Code Page 5