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_r394715353
 
 

 ##########
 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:
   yeah, the above copies hbase-site.xml from test-classes to test-data, then 
the copy under test-data is added to config resources. When hbase-site.xml 
under test-data is updated, Configuration can be reloaded to include changes.

----------------------------------------------------------------
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:
us...@infra.apache.org


With regards,
Apache Git Services

Reply via email to