Have you ever wondered why it sometimes takes two or three clicks of the button for your request to "go through?" Wonder no more: Valentin Valchev has discovered the root of the problem was checked into his source tree all along:

+    switch(throwException) {
+      case 1:
+        throw new EHSException(EHSException.MESSAGE_SENDFAILURE);
+      case 2:
+        if ( Math.round(Math.random()*randomFactor) == 0) {
+          throw new EHSException(EHSException.MESSAGE_SENDFAILURE);
+        }
+      default:
+        break;
+    }

I think I'll keep it in my source tree, though. I consider it more of a feature: users will think that their request is going through some important, complicated processes. They like that.

UPDATE: Sorry to those who got 800 versions of this post in their RSS feed.

[Advertisement] BuildMaster allows you to create a self-service release management platform that allows different teams to manage their applications. Explore how!