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:53:03 UTC

[hbase] branch branch-2.3 updated (91f07c3 -> 7365b970)

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

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


    from 91f07c3  Preparing development version 2.3.3-SNAPSHOT
     new ae2f1f6  HBASE-25014 ScheduledChore is never triggered when initalDelay > 1.5*period (#2395)
     new 7365b970 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] 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.3
in repository https://gitbox.apache.org/repos/asf/hbase.git

commit 7365b9705e975c87d915498c4dfe7d4e6c75c713
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();


[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.3
in repository https://gitbox.apache.org/repos/asf/hbase.git

commit ae2f1f6e33e5ac56a02e4172a22754f59249e2e5
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);
+    }
+  }
 }