Hangin' On
by in CodeSOD on 2013-03-27Don T. was tasked with adding the ability to process transactions with new reference data to their flagship product. After some thought, Don decided that he would create a DAO to load the new reference data from the database, and store it in another sub-cache in the singleton master-cache of the application. Further, he would grab a handle to that sub-cache and pass it around to anything that needed it. The actual processing would be done by a remote web service. There would be approximately 100 megabytes of new reference data. He wrote and tested the code. QA tested and blessed the code. It was deployed.
Within an hour, the application died with an OutOfMemoryError.
At Cheryl C's company, most of the work was done, and all of the data was stored on Linux servers, but everyone used laptops to access the network and by extension, their Linux servers. Most of the time this worked out well. However, when something went wrong... support was handled by two different organizations: one in her company and one on The Other Side. Specifically, the company on the other side of the merger. Two behemoths had merged into one mammoth colossus of Jurassic proportions.