I had a task: provide some code exit point for one of our customers to extend their error handling ("what do we do with the failed events?").
It seemed easy: in the actualy worker class, add a blank virtual function and call it for a set flag in the database; The customers, in their infinite wisdom would implement it then to suit their needs.
What happened was that after (more or less) a week of going through the code in various other parts and learning to generate dummy billing events for testing and so on and so forth, today I managed to actually replicate the scenario required to work and found that the beautifull and technically correct solution was not working;
Why?
Because the execution framework cancels all database transactions in case of an error; this would mean that all database changes done by the clients while executing their customized error handler goes down the drain with two simple words:
ROLLBACK TRANSACTION
Anyway, it's 9:43 PM; D left earlyer (around half past 8), and V helped me a lot in finishing what I had to today;
There is still a notification mail to be sent for tomorrow, and we just came back from the 4£ dinner the company is paiyng for us in such situations (we had chinese, at the corner).
I'm prepairing to go home in a few minutes.
Good night european hemisphere
utnapistim @ work
No comments:
Post a Comment