Apache9 commented on code in PR #6910:
URL: https://github.com/apache/hbase/pull/6910#discussion_r2049819375


##########
hbase-server/src/main/java/org/apache/hadoop/hbase/master/region/MasterRegion.java:
##########
@@ -143,13 +148,23 @@ private void shutdownWAL() {
     }
   }
 
+  @RestrictedApi(explanation = "Should only be called in tests", link = "",
+      allowedOnPath = ".*/src/test/.*")
+  public void setTestFailure() {
+    this.updateFailForTest = true;
+  }
+
   public void update(UpdateMasterRegion action) throws IOException {
     try {
+      if (updateFailForTest) {
+        // test for HBASE-29251
+        throw new IOException("Update failed");
+      }

Review Comment:
   You need to define what you want to test, if you just want to make sure that 
if there is an exception you will call abort, it is very easy, and even do not 
need to bring up a cluster.
   
   If you want to do something like a integration tests, you can extend 
HRegion, and there are bunch of ways to decide whether to throw an exception in 
batchMutate method. You can make the specific HRegion implementation an inner 
class of the testcase, and set a static field in the test class to control 
whether to throw an exception...



-- 
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.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to