You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by zh...@apache.org on 2023/05/11 15:18:41 UTC

[hbase] branch branch-2 updated: HBASE-27851 Fix TestListTablesByState which is silently failing due to a surefire bug (#5227)

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

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


The following commit(s) were added to refs/heads/branch-2 by this push:
     new 026ff18053d HBASE-27851 Fix TestListTablesByState which is silently failing due to a surefire bug (#5227)
026ff18053d is described below

commit 026ff18053db57c5edf0a5f916477f07f91d6783
Author: Jonathan Albrecht <jo...@ibm.com>
AuthorDate: Thu May 11 11:08:12 2023 -0400

    HBASE-27851 Fix TestListTablesByState which is silently failing due to a surefire bug (#5227)
    
    surefire version 3.0.0-M6 has a bug where tests end up being removed from
    the test results if they fail with a long exception message. See:
    
    https://issues.apache.org/jira/browse/SUREFIRE-2079
    
    TestListTablesByState is currently failing due to an error. However,
    it is being missed because of the surefire bug. I found this while testing
    the final surfire 3.0.0 version which fixes the bug and the test then
    shows up as failing.
    
    Co-authored-by: Jonathan Albrecht <jo...@ibm.com>
    Signed-off-by: Duo Zhang <zh...@apache.org>
    (cherry picked from commit 55aff4ceef73e93ad2efd5604f0f9d8580ff68ec)
---
 .../hadoop/hbase/master/TestListTablesByState.java | 45 ++++++++++++++--------
 1 file changed, 30 insertions(+), 15 deletions(-)

diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestListTablesByState.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestListTablesByState.java
index f545eb9ae94..26d26d2fdfd 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestListTablesByState.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestListTablesByState.java
@@ -21,12 +21,15 @@ import org.apache.hadoop.hbase.HBaseClassTestRule;
 import org.apache.hadoop.hbase.HBaseTestingUtility;
 import org.apache.hadoop.hbase.TableName;
 import org.apache.hadoop.hbase.client.Admin;
+import org.apache.hadoop.hbase.client.ColumnFamilyDescriptorBuilder;
 import org.apache.hadoop.hbase.client.TableDescriptor;
 import org.apache.hadoop.hbase.client.TableDescriptorBuilder;
 import org.apache.hadoop.hbase.testclassification.MasterTests;
 import org.apache.hadoop.hbase.testclassification.MediumTests;
+import org.apache.hadoop.hbase.util.Bytes;
 import org.junit.AfterClass;
 import org.junit.Assert;
+import org.junit.Before;
 import org.junit.BeforeClass;
 import org.junit.ClassRule;
 import org.junit.Test;
@@ -40,7 +43,12 @@ public class TestListTablesByState {
 
   private static HBaseTestingUtility UTIL;
   private static Admin ADMIN;
-  private final static int SLAVES = 1;
+  private static final int SLAVES = 1;
+  private static final byte[] COLUMN = Bytes.toBytes("cf");
+  private static final TableName TABLE = TableName.valueOf("test");
+  private static final TableDescriptor TABLE_DESC = TableDescriptorBuilder.newBuilder(TABLE)
+    .setColumnFamily(ColumnFamilyDescriptorBuilder.newBuilder(COLUMN).setMaxVersions(3).build())
+    .build();
 
   @BeforeClass
   public static void setUpBeforeClass() throws Exception {
@@ -49,26 +57,33 @@ public class TestListTablesByState {
     ADMIN = UTIL.getAdmin();
   }
 
+  @Before
+  public void before() throws Exception {
+    if (ADMIN.tableExists(TABLE)) {
+      if (ADMIN.isTableEnabled(TABLE)) {
+        ADMIN.disableTable(TABLE);
+      }
+
+      ADMIN.deleteTable(TABLE);
+    }
+  }
+
   @Test
   public void testListTableNamesByState() throws Exception {
-    TableName testTableName = TableName.valueOf("test");
-    TableDescriptor testTableDesc = TableDescriptorBuilder.newBuilder(testTableName).build();
-    ADMIN.createTable(testTableDesc);
-    ADMIN.disableTable(testTableName);
-    Assert.assertEquals(ADMIN.listTableNamesByState(false).get(0), testTableName);
-    ADMIN.enableTable(testTableName);
-    Assert.assertEquals(ADMIN.listTableNamesByState(true).get(0), testTableName);
+    ADMIN.createTable(TABLE_DESC);
+    ADMIN.disableTable(TABLE);
+    Assert.assertEquals(ADMIN.listTableNamesByState(false).get(0), TABLE);
+    ADMIN.enableTable(TABLE);
+    Assert.assertEquals(ADMIN.listTableNamesByState(true).get(0), TABLE);
   }
 
   @Test
   public void testListTableDescriptorByState() throws Exception {
-    TableName testTableName = TableName.valueOf("test");
-    TableDescriptor testTableDesc = TableDescriptorBuilder.newBuilder(testTableName).build();
-    ADMIN.createTable(testTableDesc);
-    ADMIN.disableTable(testTableName);
-    Assert.assertEquals(ADMIN.listTableDescriptorsByState(false).get(0), testTableDesc);
-    ADMIN.enableTable(testTableName);
-    Assert.assertEquals(ADMIN.listTableDescriptorsByState(true).get(0), testTableDesc);
+    ADMIN.createTable(TABLE_DESC);
+    ADMIN.disableTable(TABLE);
+    Assert.assertEquals(ADMIN.listTableDescriptorsByState(false).get(0).getTableName(), TABLE);
+    ADMIN.enableTable(TABLE);
+    Assert.assertEquals(ADMIN.listTableDescriptorsByState(true).get(0).getTableName(), TABLE);
   }
 
   @AfterClass