Index: src/java/org/apache/hadoop/hbase/util/Sleeper.java =================================================================== --- src/java/org/apache/hadoop/hbase/util/Sleeper.java (revision 928952) +++ src/java/org/apache/hadoop/hbase/util/Sleeper.java (working copy) @@ -34,6 +34,7 @@ private final Log LOG = LogFactory.getLog(this.getClass().getName()); private final int period; private AtomicBoolean stop; + private static final long TIME_FOR_WARNING = 30000; /** * @param sleep @@ -74,9 +75,10 @@ Thread.sleep(waitTime); woke = System.currentTimeMillis(); long slept = woke - now; - if (slept > (10 * this.period)) { - LOG.warn("We slept " + slept + "ms, ten times longer than scheduled: " + - this.period); + if (slept > TIME_FOR_WARNING) { + LOG.warn("We slept " + slept + "ms, this is likely due to a long " + + "garbage collecting pause and it's usually bad, " + + "see http://wiki.apache.org/hadoop/Hbase/Troubleshooting#A9"); } } catch(InterruptedException iex) { // We we interrupted because we're meant to stop? If not, just