Repository: hbase
Updated Branches:
  refs/heads/branch-1 94c4d568b -> 137d891fb


HBASE-15791 Improve javadoc around ScheduledChore


Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/137d891f
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/137d891f
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/137d891f

Branch: refs/heads/branch-1
Commit: 137d891fbc241b7866bff5476bf8d195d3a9812f
Parents: 94c4d56
Author: Jonathan M Hsieh <jmhs...@apache.org>
Authored: Sat May 7 15:33:20 2016 -0700
Committer: Jonathan M Hsieh <jmhs...@apache.org>
Committed: Mon May 9 09:57:31 2016 -0700

----------------------------------------------------------------------
 .../org/apache/hadoop/hbase/ScheduledChore.java | 37 +++++++++++++-------
 1 file changed, 25 insertions(+), 12 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hbase/blob/137d891f/hbase-common/src/main/java/org/apache/hadoop/hbase/ScheduledChore.java
----------------------------------------------------------------------
diff --git 
a/hbase-common/src/main/java/org/apache/hadoop/hbase/ScheduledChore.java 
b/hbase-common/src/main/java/org/apache/hadoop/hbase/ScheduledChore.java
index 2c54b9f..5c5bcd8 100644
--- a/hbase-common/src/main/java/org/apache/hadoop/hbase/ScheduledChore.java
+++ b/hbase-common/src/main/java/org/apache/hadoop/hbase/ScheduledChore.java
@@ -55,9 +55,9 @@ public abstract class ScheduledChore implements Runnable {
   /**
    * Scheduling parameters. Used by ChoreService when scheduling the chore to 
run periodically
    */
-  private final int period;
+  private final int period; // in TimeUnit units
   private final TimeUnit timeUnit;
-  private final long initialDelay;
+  private final long initialDelay; // in TimeUnit units
 
   /**
    * Interface to the ChoreService that this ScheduledChore is scheduled with. 
null if the chore is
@@ -68,8 +68,8 @@ public abstract class ScheduledChore implements Runnable {
   /**
    * Variables that encapsulate the meaningful state information
    */
-  private long timeOfLastRun = -1;
-  private long timeOfThisRun = -1;
+  private long timeOfLastRun = -1; // system time millis
+  private long timeOfThisRun = -1; // system time millis
   private boolean initialChoreComplete = false;
 
   /**
@@ -127,7 +127,7 @@ public abstract class ScheduledChore implements Runnable {
   /**
    * @param name Name assigned to Chore. Useful for identification amongst 
chores of the same type
    * @param stopper When {@link Stoppable#isStopped()} is true, this chore 
will cancel and cleanup
-   * @param period Period with which this Chore repeats execution when 
scheduled.
+   * @param period Period in millis with which this Chore repeats execution 
when scheduled.
    */
   public ScheduledChore(final String name, Stoppable stopper, final int 
period) {
     this(name, stopper, period, DEFAULT_INITIAL_DELAY);
@@ -136,7 +136,7 @@ public abstract class ScheduledChore implements Runnable {
   /**
    * @param name Name assigned to Chore. Useful for identification amongst 
chores of the same type
    * @param stopper When {@link Stoppable#isStopped()} is true, this chore 
will cancel and cleanup
-   * @param period Period with which this Chore repeats execution when 
scheduled.
+   * @param period Period in millis with which this Chore repeats execution 
when scheduled.
    * @param initialDelay Delay before this Chore begins to execute once it has 
been scheduled. A
    *          value of 0 means the chore will begin to execute immediately. 
Negative delays are
    *          invalid and will be corrected to a value of 0.
@@ -149,10 +149,10 @@ public abstract class ScheduledChore implements Runnable {
   /**
    * @param name Name assigned to Chore. Useful for identification amongst 
chores of the same type
    * @param stopper When {@link Stoppable#isStopped()} is true, this chore 
will cancel and cleanup
-   * @param period Period with which this Chore repeats execution when 
scheduled.
-   * @param initialDelay Delay before this Chore begins to execute once it has 
been scheduled. A
-   *          value of 0 means the chore will begin to execute immediately. 
Negative delays are
-   *          invalid and will be corrected to a value of 0.
+   * @param period Period in Timeunit unit with which this Chore repeats 
execution when scheduled.
+   * @param initialDelay Delay in Timeunit unit before this Chore begins to 
execute once it has been
+   *          scheduled. A value of 0 means the chore will begin to execute 
immediately. Negative
+   *          delays are invalid and will be corrected to a value of 0.
    * @param unit The unit that is used to measure period and initialDelay
    */
   public ScheduledChore(final String name, Stoppable stopper, final int period,
@@ -213,8 +213,8 @@ public abstract class ScheduledChore implements Runnable {
   }
 
   /**
-   * @return How long has it been since this chore last run. Useful for 
checking if the chore has
-   *         missed its scheduled start time by too large of a margin
+   * @return How long in millis has it been since this chore last run. Useful 
for checking if the
+   *         chore has missed its scheduled start time by too large of a margin
    */
   synchronized long getTimeBetweenRuns() {
     return timeOfThisRun - timeOfLastRun;
@@ -228,11 +228,18 @@ public abstract class ScheduledChore implements Runnable {
         && getTimeBetweenRuns() > getMaximumAllowedTimeBetweenRuns();
   }
 
+  /**
+   * @return max allowed time in millis between runs.
+   */
   private double getMaximumAllowedTimeBetweenRuns() {
     // Threshold used to determine if the Chore's current run started too late
     return 1.5 * timeUnit.toMillis(period);
   }
 
+  /**
+   * @param time in system millis
+   * @return true if time is earlier or equal to current milli time
+   */
   private synchronized boolean isValidTime(final long time) {
     return time > 0 && time <= System.currentTimeMillis();
   }
@@ -276,10 +283,16 @@ public abstract class ScheduledChore implements Runnable {
     return stopper;
   }
 
+  /**
+   * @return period to execute chore in getTimeUnit() units
+   */
   public int getPeriod() {
     return period;
   }
 
+  /**
+   * @return initial delay before executing chore in getTimeUnit() units
+   */
   public long getInitialDelay() {
     return initialDelay;
   }

Reply via email to