Breaking code source control after a server relocation
Apr
27
WRITTEN BY:
27/04/2011 10:50 PM
Misbehaving software
Jenasys Design implemented a SQL Server/Web Service based source control system. We started getting the following error and couldn't work out why the software service stopped working.
"An existing connection was forcibly closed by the remote host."
Basically every code change we wanted in source control became a painful exercise. We would do a set of checkins and it would fail randomly. We would then have to review the local files against the server files and often run renegade/merge processes, which is something you don't want to do too often. Our staff were very frustrated!
Decision
- We didn't have the time to source and migrate our source control to a new provider.
- Source control was still considered very important risk management tool for our clients, so we had to debug the problem ourselves.
Resolution
The problem turned out to be two fold and something we had spent days debugging in the past.
- The event log was being sent to a folder path that didn't exist, so a detailed log wasn't getting created for review.
- The email relay setting was incorrect. We moved the server to a different office and ISP during the recent Brisbane Floods.
Lessons Learnt
- Customers will often choose vendors based on a number of reasons like,
- online support forum quality,
- access to free service packs,
- paid support options and costs,
- upgrade licensing or subscription licensing costs,
- technology used in the solution,
- vendor loyalty,
- quality of software,
- Don't change your software licensing model with out a very good reason. There is nothing worse that forcing loyal customers into an unexpected extra costs with out a significant improvement or change in your software quality and services.
- If a customer finds a bug in your software, thank them, fix it and send it back ASAP. We previously sent extensive testing/debugging/screen shots and how we found the problem to the supplier and no bug fix was every completed or issued and no followup. Customer service goes a long way in the software industry
As software developers we knew the fix to our problem should only be a few lines of code, so the supplier had no excuse.
- If you have a complicated set of processes and your software relies on some external setting or service don't assume its correct and working. Check the values, test the service is, but most of all don't stop the program if you can avoid it. Let the user know there is a problem, and wait for a change in the setting or service availability and then retry doing that task.
- If you learn something, write a few notes down and store that information in an easy to find place or online to help remind yourself, your colleagues and others online.
COPYRIGHT ©2011 Jenasys Design