Friday 3 October 2008

When is 'Server' not the same as 'server' ?

...when you're working with Unix software, that's when.

Recently I've been working with a flexible batch management system on Windows 2000 Server. I've been setting up a test system which mimics exactly that which is currently in a production system, using a VMware virtual server environment.

All has been going exceptionally well, but one thing (the batch handling system) remained a problem. Strange things were happening. Some things worked, others didn't. Strange apparent corruptions were in the database, despite them being a direct export/import from the production system to the test system. Wierd. Nothing obvious was wrong.

Then I had one of those light bulb moments. I remembered that the batch system running on Windows 2000 Server was a port from an original Unix application. Unix, as you may or may not know, is case sensitive. So when you refer to a system's TCP/IP name as 'Server', it's not the same as 'server'. Windows doesn't really care either way, but Unix does, and this original Unix application did care, even when running on Windows! A reasonably good explaination of Unix case sensitivity can be found here.

So, I quickly tested out this theory and renamed a machine from 'Server' to 'server' (I'm using false names here to protect the identity of the real server...) and it worked. Panic over.

TTFN

Disclaimer: The views and opinions I post are the views and opinions of me, and me only, and do not reflect views or opinions of anyone or anything else. Views and opinions are subject to change without notice!

No comments: