Mondays are why they invented coffee, and sometimes I should have multiple cups before laying hands on the keyboard.
My supervisor is on vacation this week, so it is a particularly good time to NOT cause any major catastrophes. As I eased into the morning, I needed to take a glance at our agent log database, where I noticed that a particular agent was still logging quite verbosely, and bits of information that the rest of the world probably shouldn’t see. I checked the ACL (that’s Access Control List, for you non-Lotus geeks) and noticed that by default, everyone could look at the database. Figuring that improving security was a good way to start off the week, I locked that db down so only the good guys had access to it.
A short time later, someone noticed a problem connecting to our job posting system, which had changes made to it on Friday. Since that’s primarily my supervisor’s area of responsibility, he was already notified and on the phone, not particularly happy to be in a conference call on a Monday morning of his first day off. This particular system is a third-party site which we provide single-sign on to via an agent, a form, a servlet, and some key info from the address book, so it’s a bit complex. Adding to that complexity was the fact that it was working for some of us, and not for others. Logically, we first checked the things that changed last week, then checked for differences between the servers in our cluster, then differences in the physical locations of the people having the issue, then on to the things we didn’t change, all the while trying to understand why the agent, which hasn’t changed since January, was suddenly spewing cryptic “Object variable not set” errors to the server console.
You know that sinking feeling you get when all of a sudden you realize the problem… and it’s your fault? Yeah. Me too. Turns out this particular agent ran with the permissions of the individual who clicked the link. This agent also needed to get a handle to the log database in case something went wrong so it could log it. Turns out that object variable that wasn’t set was due to the fact that nobody (except us developers) had access to the log database anymore. One small step for security, one giant leap backwards for my ego.
Luckily, my troubleshooting prowess only needed an hour to nail down the issue (how’s that for positive spin?) and the world was right once again. Still feels more like the agony of defeat, though.