The Source for Java Technology Collaboration
User: Password:



Nigel Daley

Nigel Daley's Blog

Nigel's Law

Posted by nidaley on July 25, 2007 at 02:30 PM | Comments (2)

I test open source software that scales to thousands of nodes. In the course of my work, I occasionally hear from the project developers that certain test cases are "corner cases" -- that is, the test cases are covering rare or infrequent situations.

Recently I was explaining this developer behavior to a colleague. I explained to him how I was weary of test cases being passed off as "corner cases" that didn't merit much attention. What I told him next he subsequently dubbed "Nigel's Law", so here it is:

In a large enough cluster, there are NO corner cases

The fringe, the boundary, the infrequent, the unlikely -- all occur quickly and often when operating software on large clusters with thousands of nodes.


Want a fun job testing open source? Passionate about software quality? Have great testing and coding skills? I'm hiring! Send your resume to: ndaley at yahoo-inc dot com


Bookmark blog post: del.icio.us del.icio.us Digg Digg DZone DZone Furl Furl Reddit Reddit
Comments
Comments are listed in date ascending order (oldest first) | Post Comment

  • Nigel,

    It's an excellent point. When the numbers of events, nodes, users, etc. get large, even very unlikely things happen regularly.

    In my recent book "Release It", I describe it thus:

    In time, even shockingly unlikely combinations of circumstances will
    eventually occur. If you ever catch yourself saying, “The odds of that
    happening are astronomical,” or some similar utterance, consider this:
    ten million page views per day over three years (assuming fifty assets
    per page) gives your system 547,500,000,000 chances for something
    to go wrong. That’s more than five hundred billion opportunities for
    bad things to happen. Recent astronomical observations indicate there
    are four hundred billion stars in the Milky Way galaxy. Astronomically
    unlikely coincidences happen daily."

    I'm discussing the topic of stability in distributed systems and pointing out that the equivalent of "security through obscurity" is "stability through probability" and it works just about as well.

    Cheers,
    Michael T. Nygard

    Author of Release It! Design and Deploy Production-Ready Software


    Posted by: mtnygard on July 26, 2007 at 06:54 AM

  • Thanks Michael for the reference to your book! I can't wait to read it.

    Posted by: nidaley on July 26, 2007 at 10:48 PM



Only logged in users may post comments. Login Here.


Powered by
Movable Type 3.01D
 Feed java.net RSS Feeds