qiaoandxiang commented on a change in pull request #1310: HBASE-23957 [flakey
test] client.TestMultiParallel fails to read hbas…
URL: https://github.com/apache/hbase/pull/1310#discussion_r395115901
##########
File path:
hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestAsyncClusterAdminApi.java
##########
@@ -65,19 +67,47 @@
public static final HBaseClassTestRule CLASS_RULE =
HBaseClassTestRule.forClass(TestAsyncClusterAdminApi.class);
- private final Path cnfPath =
FileSystems.getDefault().getPath("target/test-classes/hbase-site.xml");
- private final Path cnf2Path =
FileSystems.getDefault().getPath("target/test-classes/hbase-site2.xml");
- private final Path cnf3Path =
FileSystems.getDefault().getPath("target/test-classes/hbase-site3.xml");
+ private static Path newCnfPath, newCnf2Path, newCnf3Path;
@BeforeClass
public static void setUpBeforeClass() throws Exception {
+ Path cnfPath =
FileSystems.getDefault().getPath("target/test-classes/hbase-site.xml");
+ Path cnf2Path =
FileSystems.getDefault().getPath("target/test-classes/hbase-site2.xml");
+ Path cnf3Path =
FileSystems.getDefault().getPath("target/test-classes/hbase-site3.xml");
+
+ String absoluteDataPath = TEST_UTIL.getDataTestDir().toString();
+ String dataBasePath =
System.getProperty(HBaseCommonTestingUtility.BASE_TEST_DIRECTORY_KEY,
+ HBaseCommonTestingUtility.DEFAULT_BASE_TEST_DIRECTORY);
+
+ String dataPath =
absoluteDataPath.substring(absoluteDataPath.indexOf(dataBasePath));
+ newCnfPath = Paths.get(dataPath + "/hbase-site.xml");
+ newCnf2Path = Paths.get(dataPath + "/hbase-site2.xml");
+ newCnf3Path = Paths.get(dataPath + "/hbase-site3.xml");
+
+ // Copy Files from target/test-classes to data directory, this is to avoid
messing up
+ // the config file under target/test-class, which is supposed to be
immutable.
+ Files.createDirectories(Paths.get(dataPath));
+ Files.copy(cnfPath, newCnfPath);
+ Files.copy(cnf2Path, newCnf2Path);
+ Files.copy(cnf3Path, newCnf3Path);
+
+ // Add the new custom config file to Configuration
+
TEST_UTIL.getConfiguration().addResource(TEST_UTIL.getDataTestDir("hbase-site.xml"));
Review comment:
So there are three resources for the config now, the default are
hbase-defaults.xml/hbase-site.xml under test-classes, which are immutable
and shared across different testing cases. hbase-site.xml under test-data is
per test case and only this file will be changed to avoid bumping into other
tests.
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
With regards,
Apache Git Services