You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by st...@apache.org on 2021/03/31 21:39:02 UTC

[hbase] branch HBASE-25713 updated: Moved more back to hbase-wal; no tests checked yet

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

stack pushed a commit to branch HBASE-25713
in repository https://gitbox.apache.org/repos/asf/hbase.git


The following commit(s) were added to refs/heads/HBASE-25713 by this push:
     new 8e83e44  Moved more back to hbase-wal; no tests checked yet
8e83e44 is described below

commit 8e83e440a52bb49e68bc2a235aefdf45a93bf535
Author: stack <st...@apache.org>
AuthorDate: Wed Mar 31 14:38:04 2021 -0700

    Moved more back to hbase-wal; no tests checked yet
---
 .../hadoop/hbase/regionserver/wal/AsyncFSWAL.java  |  1 -
 hbase-wal/pom.xml                                  | 13 +++++++++++
 .../hadoop/hbase/regionserver/wal/MetricsWAL.java  |  0
 .../hbase/regionserver/wal/MetricsWALSource.java   |  2 +-
 .../regionserver/wal/MetricsWALSourceImpl.java     |  0
 .../org/apache/hadoop/hbase/wal/WALProvider.java   | 15 ++++--------
 .../hbase/regionserver/wal/TestMetricsWAL.java     | 27 ++++++++++------------
 .../regionserver/wal/TestMetricsWALSource.java     |  0
 .../regionserver/wal/TestMetricsWALSourceImpl.java |  3 +--
 9 files changed, 32 insertions(+), 29 deletions(-)

diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.java
index 5576a77..960da1f 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.java
@@ -48,7 +48,6 @@ import org.apache.hadoop.fs.FileSystem;
 import org.apache.hadoop.fs.Path;
 import org.apache.hadoop.hbase.Abortable;
 import org.apache.hadoop.hbase.HBaseInterfaceAudience;
-import org.apache.hadoop.hbase.client.RegionInfo;
 import org.apache.hadoop.hbase.io.asyncfs.AsyncFSOutput;
 import org.apache.hadoop.hbase.trace.TraceUtil;
 import org.apache.hadoop.hbase.wal.AsyncFSWALProvider;
diff --git a/hbase-wal/pom.xml b/hbase-wal/pom.xml
index 9e1e3bb..742672e 100644
--- a/hbase-wal/pom.xml
+++ b/hbase-wal/pom.xml
@@ -79,6 +79,11 @@
       <scope>test</scope>
     </dependency>
     <dependency>
+      <groupId>org.mockito</groupId>
+      <artifactId>mockito-core</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
       <groupId>org.slf4j</groupId>
       <artifactId>slf4j-log4j12</artifactId>
       <scope>test</scope>
@@ -110,5 +115,13 @@
       <groupId>org.apache.hbase</groupId>
       <artifactId>hbase-metrics-api</artifactId>
     </dependency>
+      <dependency>
+          <groupId>org.apache.hbase</groupId>
+          <artifactId>hbase-hadoop-compat</artifactId>
+      </dependency>
+    <dependency>
+      <groupId>org.apache.hbase</groupId>
+      <artifactId>hbase-hadoop2-compat</artifactId>
+    </dependency>
   </dependencies>
 </project>
diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/wal/MetricsWAL.java b/hbase-wal/src/main/java/org/apache/hadoop/hbase/regionserver/wal/MetricsWAL.java
similarity index 100%
rename from hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/wal/MetricsWAL.java
rename to hbase-wal/src/main/java/org/apache/hadoop/hbase/regionserver/wal/MetricsWAL.java
diff --git a/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/wal/MetricsWALSource.java b/hbase-wal/src/main/java/org/apache/hadoop/hbase/regionserver/wal/MetricsWALSource.java
similarity index 99%
rename from hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/wal/MetricsWALSource.java
rename to hbase-wal/src/main/java/org/apache/hadoop/hbase/regionserver/wal/MetricsWALSource.java
index b179b91..d4b573d 100644
--- a/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/wal/MetricsWALSource.java
+++ b/hbase-wal/src/main/java/org/apache/hadoop/hbase/regionserver/wal/MetricsWALSource.java
@@ -1,4 +1,4 @@
-/**
+/*
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements.  See the NOTICE file
  * distributed with this work for additional information
diff --git a/hbase-hadoop2-compat/src/main/java/org/apache/hadoop/hbase/regionserver/wal/MetricsWALSourceImpl.java b/hbase-wal/src/main/java/org/apache/hadoop/hbase/regionserver/wal/MetricsWALSourceImpl.java
similarity index 100%
rename from hbase-hadoop2-compat/src/main/java/org/apache/hadoop/hbase/regionserver/wal/MetricsWALSourceImpl.java
rename to hbase-wal/src/main/java/org/apache/hadoop/hbase/regionserver/wal/MetricsWALSourceImpl.java
diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/wal/WALProvider.java b/hbase-wal/src/main/java/org/apache/hadoop/hbase/wal/WALProvider.java
similarity index 91%
rename from hbase-server/src/main/java/org/apache/hadoop/hbase/wal/WALProvider.java
rename to hbase-wal/src/main/java/org/apache/hadoop/hbase/wal/WALProvider.java
index 0a3123a..b4fab32 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/wal/WALProvider.java
+++ b/hbase-wal/src/main/java/org/apache/hadoop/hbase/wal/WALProvider.java
@@ -1,5 +1,4 @@
-/**
- *
+/*
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements.  See the NOTICE file
  * distributed with this work for additional information
@@ -23,11 +22,8 @@ import java.io.IOException;
 import java.util.List;
 import java.util.OptionalLong;
 import java.util.concurrent.CompletableFuture;
-
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.hbase.Abortable;
-import org.apache.hadoop.hbase.client.RegionInfo;
-import org.apache.hadoop.hbase.regionserver.wal.AsyncFSWAL;
 import org.apache.hadoop.hbase.regionserver.wal.WALActionsListener;
 import org.apache.hadoop.hbase.replication.regionserver.WALFileLengthProvider;
 import org.apache.yetus.audience.InterfaceAudience;
@@ -36,7 +32,7 @@ import org.apache.yetus.audience.InterfaceAudience;
  * The Write Ahead Log (WAL) stores all durable edits to the HRegion. This interface provides the
  * entry point for all WAL implementors.
  * <p>
- * See {@link FSHLogProvider} for an example implementation. A single WALProvider will be used for
+ * See FSHLogProvider for an example implementation. A single WALProvider will be used for
  * retrieving multiple WALs in a particular region server and must be threadsafe.
  */
 @InterfaceAudience.Private
@@ -52,10 +48,9 @@ public interface WALProvider {
       throws IOException;
 
   /**
-   * @param region the region which we want to get a WAL for it. Could be null.
    * @return a WAL for writing entries for the given region.
    */
-  WAL getWAL(RegionInfo region) throws IOException;
+  WAL getWAL(byte [] encodedRegionName) throws IOException;
 
   /**
    * @return the List of WALs that are used by this server
@@ -80,7 +75,7 @@ public interface WALProvider {
     long getLength();
     /**
      * NOTE: We add this method for {@link WALFileLengthProvider} used for replication,
-     * considering the case if we use {@link AsyncFSWAL},we write to 3 DNs concurrently,
+     * considering the case if we use AsyncFSWAL, we write to 3 DNs concurrently,
      * according to the visibility guarantee of HDFS, the data will be available immediately
      * when arriving at DN since all the DNs will be considered as the last one in pipeline.
      * This means replication may read uncommitted data and replicate it to the remote cluster
@@ -123,7 +118,7 @@ public interface WALProvider {
   /**
    * Add a {@link WALActionsListener}.
    * <p>
-   * Notice that you must call this method before calling {@link #getWAL(RegionInfo)} as this method
+   * Notice that you must call this method before calling {@link #getWAL(byte[])} as this method
    * will not effect the {@link WAL} which has already been created. And as long as we can only it
    * when initialization, it is not thread safe.
    */
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestMetricsWAL.java b/hbase-wal/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestMetricsWAL.java
similarity index 84%
rename from hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestMetricsWAL.java
rename to hbase-wal/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestMetricsWAL.java
index 14d0a88..cbe4b7a 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestMetricsWAL.java
+++ b/hbase-wal/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestMetricsWAL.java
@@ -18,10 +18,6 @@
 package org.apache.hadoop.hbase.regionserver.wal;
 
 import static org.junit.Assert.assertEquals;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.times;
-import static org.mockito.Mockito.verify;
-
 import java.util.concurrent.CountDownLatch;
 import java.util.concurrent.TimeUnit;
 import org.apache.hadoop.hbase.HBaseClassTestRule;
@@ -34,6 +30,7 @@ import org.apache.hadoop.metrics2.lib.DynamicMetricsRegistry;
 import org.junit.ClassRule;
 import org.junit.Test;
 import org.junit.experimental.categories.Category;
+import org.mockito.Mockito;
 
 @Category({MiscTests.class, SmallTests.class})
 public class TestMetricsWAL {
@@ -44,7 +41,7 @@ public class TestMetricsWAL {
 
   @Test
   public void testLogRollRequested() throws Exception {
-    MetricsWALSource source = mock(MetricsWALSourceImpl.class);
+    MetricsWALSource source = Mockito.mock(MetricsWALSourceImpl.class);
     MetricsWAL metricsWAL = new MetricsWAL(source);
     metricsWAL.logRollRequested(WALActionsListener.RollRequestReason.ERROR);
     metricsWAL.logRollRequested(WALActionsListener.RollRequestReason.LOW_REPLICATION);
@@ -52,24 +49,24 @@ public class TestMetricsWAL {
     metricsWAL.logRollRequested(WALActionsListener.RollRequestReason.SIZE);
 
     // Log roll was requested four times
-    verify(source, times(4)).incrementLogRollRequested();
+    Mockito.verify(source, Mockito.times(4)).incrementLogRollRequested();
     // One was because of an IO error.
-    verify(source, times(1)).incrementErrorLogRoll();
+    Mockito.verify(source, Mockito.times(1)).incrementErrorLogRoll();
     // One was because of low replication on the hlog.
-    verify(source, times(1)).incrementLowReplicationLogRoll();
+    Mockito.verify(source, Mockito.times(1)).incrementLowReplicationLogRoll();
     // One was because of slow sync on the hlog.
-    verify(source, times(1)).incrementSlowSyncLogRoll();
+    Mockito.verify(source, Mockito.times(1)).incrementSlowSyncLogRoll();
     // One was because of hlog file length limit.
-    verify(source, times(1)).incrementSizeLogRoll();
+    Mockito.verify(source, Mockito.times(1)).incrementSizeLogRoll();
   }
 
   @Test
   public void testPostSync() throws Exception {
     long nanos = TimeUnit.MILLISECONDS.toNanos(145);
-    MetricsWALSource source = mock(MetricsWALSourceImpl.class);
+    MetricsWALSource source = Mockito.mock(MetricsWALSourceImpl.class);
     MetricsWAL metricsWAL = new MetricsWAL(source);
     metricsWAL.postSync(nanos, 1);
-    verify(source, times(1)).incrementSyncTime(145);
+    Mockito.verify(source, Mockito.times(1)).incrementSyncTime(145);
   }
 
   @Test
@@ -88,14 +85,14 @@ public class TestMetricsWAL {
 
   @Test
   public void testWalWrittenInBytes() throws Exception {
-    MetricsWALSource source = mock(MetricsWALSourceImpl.class);
+    MetricsWALSource source = Mockito.mock(MetricsWALSourceImpl.class);
     MetricsWAL metricsWAL = new MetricsWAL(source);
     TableName tableName = TableName.valueOf("foo");
     WALKey walKey = new WALKeyImpl(null, tableName, -1);
     metricsWAL.postAppend(100, 900, walKey, null);
     metricsWAL.postAppend(200, 2000, walKey, null);
-    verify(source, times(1)).incrementWrittenBytes(100);
-    verify(source, times(1)).incrementWrittenBytes(200);
+    Mockito.verify(source, Mockito.times(1)).incrementWrittenBytes(100);
+    Mockito.verify(source, Mockito.times(1)).incrementWrittenBytes(200);
   }
 
   @Test
diff --git a/hbase-hadoop-compat/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestMetricsWALSource.java b/hbase-wal/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestMetricsWALSource.java
similarity index 100%
rename from hbase-hadoop-compat/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestMetricsWALSource.java
rename to hbase-wal/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestMetricsWALSource.java
diff --git a/hbase-hadoop2-compat/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestMetricsWALSourceImpl.java b/hbase-wal/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestMetricsWALSourceImpl.java
similarity index 99%
rename from hbase-hadoop2-compat/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestMetricsWALSourceImpl.java
rename to hbase-wal/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestMetricsWALSourceImpl.java
index d8ec0af..f88758c 100644
--- a/hbase-hadoop2-compat/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestMetricsWALSourceImpl.java
+++ b/hbase-wal/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestMetricsWALSourceImpl.java
@@ -1,4 +1,4 @@
-/**
+/*
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements.  See the NOTICE file
  * distributed with this work for additional information
@@ -19,7 +19,6 @@ package org.apache.hadoop.hbase.regionserver.wal;
 
 import static org.junit.Assert.assertSame;
 import static org.junit.Assert.assertTrue;
-
 import org.apache.hadoop.hbase.CompatibilitySingletonFactory;
 import org.apache.hadoop.hbase.HBaseClassTestRule;
 import org.apache.hadoop.hbase.testclassification.MetricsTests;