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:08:19 UTC
[hbase] branch master 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 master
in repository https://gitbox.apache.org/repos/asf/hbase.git
The following commit(s) were added to refs/heads/master by this push:
new 55aff4ceef7 HBASE-27851 Fix TestListTablesByState which is silently failing due to a surefire bug (#5227)
55aff4ceef7 is described below
commit 55aff4ceef73e93ad2efd5604f0f9d8580ff68ec
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>
---
.../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 91524ddd6b6..224939f7839 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.HBaseTestingUtil;
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 HBaseTestingUtil 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