You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by zg...@apache.org on 2020/09/16 01:09:44 UTC

[hbase] branch branch-2 updated (ddddd2a -> 5a610cb)

This is an automated email from the ASF dual-hosted git repository.

zghao pushed a change to branch branch-2
in repository https://gitbox.apache.org/repos/asf/hbase.git.


    from ddddd2a  HBASE-24831 : Addendum for source compatibility
     new 4d012db  HBASE-25014 ScheduledChore is never triggered when initalDelay > 1.5*period (#2395)
     new 5a610cb  HBASE-25009: Hbck chore logs wrong message when loading regions from RS (#2379)

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../org/apache/hadoop/hbase/ScheduledChore.java    |  2 +-
 .../org/apache/hadoop/hbase/TestChoreService.java  | 25 +++++++++++++++++++++-
 .../org/apache/hadoop/hbase/master/HbckChore.java  |  2 +-
 3 files changed, 26 insertions(+), 3 deletions(-)


[hbase] 01/02: HBASE-25014 ScheduledChore is never triggered when initalDelay > 1.5*period (#2395)

Posted by zg...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

zghao pushed a commit to branch branch-2
in repository https://gitbox.apache.org/repos/asf/hbase.git

commit 4d012db00fb06c1af1fda52ad7aebb002793d7c8
Author: XinSun <dd...@gmail.com>
AuthorDate: Wed Sep 16 09:00:21 2020 +0800

    HBASE-25014 ScheduledChore is never triggered when initalDelay > 1.5*period (#2395)
    
    Signed-off-by: Duo Zhang <zh...@apache.org>
    Signed-off-by: Guanghao Zhang <zg...@apache.org>
---
 .../org/apache/hadoop/hbase/ScheduledChore.java    |  2 +-
 .../org/apache/hadoop/hbase/TestChoreService.java  | 25 +++++++++++++++++++++-
 2 files changed, 25 insertions(+), 2 deletions(-)

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 4bfacee..a009cf4 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
@@ -270,7 +270,7 @@ public abstract class ScheduledChore implements Runnable {
       choreServicer.cancelChore(this, false);
     }
     choreServicer = service;
-    timeOfThisRun = System.currentTimeMillis();
+    timeOfThisRun = -1;
   }
 
   public synchronized void cancel() {
diff --git a/hbase-common/src/test/java/org/apache/hadoop/hbase/TestChoreService.java b/hbase-common/src/test/java/org/apache/hadoop/hbase/TestChoreService.java
index 0a7b978..69a171c 100644
--- a/hbase-common/src/test/java/org/apache/hadoop/hbase/TestChoreService.java
+++ b/hbase-common/src/test/java/org/apache/hadoop/hbase/TestChoreService.java
@@ -29,9 +29,12 @@ import org.apache.hadoop.hbase.TestChoreService.ScheduledChoreSamples.SampleStop
 import org.apache.hadoop.hbase.TestChoreService.ScheduledChoreSamples.SleepingChore;
 import org.apache.hadoop.hbase.TestChoreService.ScheduledChoreSamples.SlowChore;
 import org.apache.hadoop.hbase.testclassification.MediumTests;
+import org.apache.hadoop.hbase.util.Threads;
 import org.junit.ClassRule;
+import org.junit.Rule;
 import org.junit.Test;
 import org.junit.experimental.categories.Category;
+import org.junit.rules.TestName;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -44,6 +47,9 @@ public class TestChoreService {
 
   public static final Logger log = LoggerFactory.getLogger(TestChoreService.class);
 
+  @Rule
+  public TestName name = new TestName();
+
   /**
    * A few ScheduledChore samples that are useful for testing with ChoreService
    */
@@ -570,7 +576,7 @@ public class TestChoreService {
     ChoreService service = new ChoreService("testNumberOfChoresMissingStartTime");
 
     final int period = 100;
-    final int sleepTime = 5 * period;
+    final int sleepTime = 20 * period;
 
     try {
       // Slow chores sleep for a length of time LONGER than their period. Thus, SlowChores
@@ -835,4 +841,21 @@ public class TestChoreService {
     assertFalse(service.scheduleChore(failChore3));
     assertFalse(failChore3.isScheduled());
   }
+
+  /**
+   * for HBASE-25014
+   */
+  @Test(timeout = 10000)
+  public void testInitialDelay() {
+    ChoreService service = new ChoreService(name.getMethodName());
+    SampleStopper stopper = new SampleStopper();
+    service.scheduleChore(new ScheduledChore("chore", stopper, 1000, 2000) {
+      @Override protected void chore() {
+        stopper.stop("test");
+      }
+    });
+    while (!stopper.isStopped()) {
+      Threads.sleep(1000);
+    }
+  }
 }


[hbase] 02/02: HBASE-25009: Hbck chore logs wrong message when loading regions from RS (#2379)

Posted by zg...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

zghao pushed a commit to branch branch-2
in repository https://gitbox.apache.org/repos/asf/hbase.git

commit 5a610cb055da335ab7f675d0f5e3a34859ba05ce
Author: Mohammad Arshad <ar...@apache.org>
AuthorDate: Wed Sep 16 06:38:04 2020 +0530

    HBASE-25009: Hbck chore logs wrong message when loading regions from RS (#2379)
    
    Signed-off-by: Wellington Chevreuil <wc...@apache.org>
    Signed-off-by: Guanghao Zhang <zg...@apache.org>
---
 .../src/main/java/org/apache/hadoop/hbase/master/HbckChore.java         | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/HbckChore.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/HbckChore.java
index 6d41008..5f04c84 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/HbckChore.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/HbckChore.java
@@ -250,7 +250,7 @@ public class HbckChore extends ScheduledChore {
       numRegions += entry.getValue().size();
     }
     LOG.info("Loaded {} regions from {} regionservers' reports and found {} orphan regions",
-        numRegions, rsReports.size(), orphanRegionsOnFS.size());
+        numRegions, rsReports.size(), orphanRegionsOnRS.size());
 
     for (Map.Entry<String, HbckRegionInfo> entry : regionInfoMap.entrySet()) {
       HbckRegionInfo hri = entry.getValue();