Bill Roper (billroper) wrote,
Bill Roper
billroper

For Want of a Nail

I spent most of the day tracking down a problem in our upcoming release. It turns out that a fix that I made two releases ago didn't manage to get into the code line for this release. This fix greatly improves the performance of the system when a certain function is called. Since it was just a performance problem, that normally would have been merely annoying, except that someone else added a call to the unfixed code in a place where it caused the entire system to periodically tie itself up in knots waiting for the inefficient code to finish.

So while the old, inefficient code was desperately trying to churn out a mountain of XML, it had an object locked. Because that object was locked, any attempt to get a list of entities from the server would have to wait until it could get that object. But the code that was trying to get the list of entities had locked another object that was required to be locked in order to establish a new login session with the server.

And the event log would periodically get a whole bunch of complaints that basically boiled down to "Hey! Who bogarted my lock?"

I've merged my fix into the code line now. That should break the logjam.

I have a whole mountain of locking fixes that will eventually ship and clear out the entire channel (to continue the nautical metaphor).

This, however, is not that day.

*sigh*
Tags: computers, musings, tech, work
Subscribe
  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 0 comments