Skip to content

Commit 03f7476

Browse files
committed
HBASE-29544: Assertion errors in BackupAndRestoreThread are not causing IntegrationTestBackupRestore to fail (#7243)
Signed-off-by: Tak Lon (Stephen) Wu <[email protected]>
1 parent 1985629 commit 03f7476

File tree

1 file changed

+15
-15
lines changed

1 file changed

+15
-15
lines changed

hbase-it/src/test/java/org/apache/hadoop/hbase/IntegrationTestBackupRestore.java

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -109,26 +109,26 @@ public class IntegrationTestBackupRestore extends IntegrationTestBase {
109109
*/
110110
protected class BackupAndRestoreThread implements Runnable {
111111
private final TableName table;
112-
private Exception exc;
112+
private Throwable throwable;
113113

114114
public BackupAndRestoreThread(TableName table) {
115115
this.table = table;
116-
this.exc = null;
116+
this.throwable = null;
117117
}
118118

119-
public Exception getException() {
120-
return this.exc;
119+
public Throwable getThrowable() {
120+
return this.throwable;
121121
}
122122

123123
@Override
124124
public void run() {
125125
try {
126126
runTestSingle(this.table);
127-
} catch (Exception e) {
127+
} catch (Throwable t) {
128128
LOG.error(
129-
"An exception occurred in thread {} when performing a backup and restore with table {}: ",
130-
Thread.currentThread().getName(), this.table.getNameAsString(), e);
131-
this.exc = e;
129+
"An error occurred in thread {} when performing a backup and restore with table {}: ",
130+
Thread.currentThread().getName(), this.table.getNameAsString(), t);
131+
this.throwable = t;
132132
}
133133
}
134134
}
@@ -218,23 +218,23 @@ private void runTestMulti() throws Exception {
218218
workers[i].start();
219219
}
220220
// Wait for all workers to finish and check for errors
221-
Exception error = null;
222-
Exception threadExc;
221+
Throwable error = null;
222+
Throwable threadThrowable;
223223
for (int i = 0; i < numTables; i++) {
224224
Uninterruptibles.joinUninterruptibly(workers[i]);
225-
threadExc = backupAndRestoreThreads[i].getException();
226-
if (threadExc == null) {
225+
threadThrowable = backupAndRestoreThreads[i].getThrowable();
226+
if (threadThrowable == null) {
227227
continue;
228228
}
229229
if (error == null) {
230-
error = threadExc;
230+
error = threadThrowable;
231231
} else {
232-
error.addSuppressed(threadExc);
232+
error.addSuppressed(threadThrowable);
233233
}
234234
}
235235
// Throw any found errors after all threads have completed
236236
if (error != null) {
237-
throw error;
237+
throw new AssertionError("An error occurred in a backup and restore thread", error);
238238
}
239239
LOG.info("IT backup & restore finished");
240240
}

0 commit comments

Comments
 (0)