Skip to content
rajesh.dhar
2013 · senior technical analyst · enterprise support

Reproduce it in the lab before you touch production

A corporate customer's issue only happened on their system. Rebuilding their setup in the lab found it, without anyone experimenting on production.

1 min readby Rajesh Dhar

The page

A corporate customer had an error in an enterprise product that nobody else was seeing. Same version on paper, same steps, but it only broke for them. They wanted a fix, and the pressure was to start trying things on their production system.

Triage

I asked for everything that describes their environment before touching anything, and rebuilt it on a VM.

# what's actually installed, not what the ticket says
uname -a
java -version
cat /etc/os-release
locale

# the errors that matter, grouped and counted
grep -hiE "error|exception" app*.log | sed 's/[0-9:.-]\{8,\}//g' \
  | sort | uniq -c | sort -rn | head -20

On the ESXi host, a snapshot before each attempt, so every test starts clean:

vim-cmd vmsvc/getallvms
vim-cmd vmsvc/snapshot.create <vmid> "before-repro" "clean baseline" 0 0
vim-cmd vmsvc/snapshot.revert <vmid> <snapshotId> 0

Root cause

It took a few rebuilds. My first copy matched the version and didn't break. The difference turned out to be the system locale. Their servers used a regional setting that changed the date format, and one parser in the product assumed the default.

The fix

Once it broke in the lab, the vendor fix was straightforward and I could test it there first. The customer got a workaround the same day (setting the locale for the service account) and the proper patch later.

What I learnt

"Same version" is rarely the whole story. The bug lived in a setting nobody had thought to write in the ticket. A lab copy let me try ten wrong ideas without one of them landing on a customer's live system.

What I do now

  • Collect the environment first: OS, runtime, locale, time zone, config. Then try to reproduce.
  • Snapshot before every attempt so you're never debugging your own leftovers.
  • Don't experiment on production when a copy will do.

stage 1 starts with this kind of careful look → see the engagements

Related

← all posts