Monthly Archives: May 2006

Say NO to Backup MX’s

Word of advice … with a few exceptions, there is absolutely no need for most organizations to implement backup MX’s. In fact, if they are not setup and managed very carefully, they can cause significant harm to an organization.

In the past week I’ve had two people on my mailing lists get their subscriptions suspended because their companies backup MX’s were not configured properly.

For those who don’t know, a “Backup MX” is a mail server that can accept mail delivery if the primary mail server is not available. A domain’s DNS records have “MX” records that list the mail servers in order of priority. Sending mail servers will try to connect to the first receiving mail server on the MX list, if that connection fails, it will try the next, etc.

Why are they not needed and, more importantly, why can they cause harm?

  1. Not needed
    1. Most sending mail server will try to deliver mail for a few days (generally around 5). Even if your mail server is down for a whole weekend, the sending server will continue delivery attempts.
    2. Unless your organization is expecting a massive amount of email (and I’m talking about thousands of mail deliveries per second, the kind a major national ISP might get), most mail servers are more than capable of handling the load … and the extra work involved in maintaining the additional servers probably isn’t worth it.
  2. Why harmful
    1. If not configured properly, mail delivered to the backup MX might not be accepted … thus causing non-delivery errors. This is what happened to the subscribers to my lists. Their primary MX was accepting mail, but the backup MX wasn’t. The rejection messages were being processed by the list software and their subscriptions were suspended
    2. Backup MX’s are often not as spam & virus resistant as primary MX’s. For this reason, spammers and virus writers often target backup MX’s instead of primary MX’s.

In the end … backup MX’s do have their uses … but only if implemented where absolutely needed and managed very carefully.

Oh, and by the way, if you are having problems sending mail from a different system than your primary mail server … it’s not because you need a backup MX. It’s probably because the other system needs to have a reverse IP name setup in DNS. Many mail servers are configured to reject mail sent from systems that do not have reverse IP dns entries setup.

[tags]SMTP, mail, email, Mail Servers, MX records, DNS[/tags]

Stupid Outlook

Sometimes I really hate MS Outlook.

Yesterday I had to run a test that Cindy, one of our QA people, was having problems with … she was trying to test our issue tracking system against a DB2/400 database, but were getting a system error from the iSeries.

She emailed me the instructions … they was pretty straight forward …

log on to test system
open a command shell
cd into the testing directory
. ./setup.script
command parm1 parm2 parm3
command parm4 parm5

Unfortunately, Outlook removed some line breaks and it looked like this:

log on to test system
open a command shell
cd into the testing directory
. ./setup.script
command parm1 parm2 parm3 command parm4 parm5

And so I couldn’t run the command properly because the parameters were wrong.

I wasted about 2 hours last night trying to figure out why the test procedure wasn’t working.

And, yes, I did find the option to disable that particular behaivor.

[tags]Outlook, QA, Testing, Work[/tags]

Frustration Abounds

I had a very frustrating day at work today … nothing was working right … even when it did work right, it wasn’t supposed to.

I’ve been trying to track down a bug in some software that only manifests when we put the system under a very heavy load. Unfortunately, a heavy load is very hard to simulate.

Luckily, our QA has a pretty solid test framework that will simulate 18 users performing 10 transaction each all at the same time.

Problem is, I can’t debug when the test framework is running. If I try to run the test framework in my debugger, there’s enough delay added by the debugger AND additional latency in the communications that the error I’m trying to fix doesn’t manifest (not to mention that the server I’m interacting with doesn’t have as much of a load on it).

My only option is to add logging code to the software and run the test framework over and over and over again.

I ran the test framework a few times in the morning and saw the error … I wanted to add a bit more diagnostic code to extract more information about the failure.

I ran the test framework again THREE more times … and not once did the error manifest.

I know the error is there … I just don’t know what I need to do to fix it yet. And if I can’t get it to manifest, I can’t refine the solution.

Darn frustrating.

[tags]Work, java, debugging[/tags]

Restart Required


Sometimes I hate Windows (more than sometimes, actually)!

Of course, I also hate software installers … especially those that require you to restart Windows after installing something … but don’t tell you before hand that it will (or may) be required.

What I hate even more than that … is installers that require a restart … but don’t give you an option to NOT restart after the install.

I just had to re-install the PocketPC “ActiveSync” software … and, after it finished the install, it informed me that a system restart was required … and I should click the “OK” button to restart.

Of course there was no way to avoid doing the restart … so my options were to let it restart (interrupting my work) or let the installer sit there for a few hours until I could take a break and do the restart when I was actually ready to. The 2nd option ran the risk of me accidentally clicking the OK button when I didn’t mean to.

Software vendors … GET A CLUE … only require a restart when it’s really necessary … and ALWAYS give the user the option of restarting later.

Phew, glad I got that off my chest. I’m better now.

[tags]Windows, installers, software, restart[/tags]