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]