1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.hadoop.hbase.regionserver.wal;
20
21 import java.io.IOException;
22
23 import org.apache.hadoop.hbase.util.Bytes;
24 import org.apache.hadoop.hbase.wal.WAL.Entry;
25
26 public class InstrumentedLogWriter extends ProtobufLogWriter {
27
28 public InstrumentedLogWriter() {
29 super();
30 }
31
32 public static boolean activateFailure = false;
33 @Override
34 public void append(Entry entry) throws IOException {
35 super.append(entry);
36 if (activateFailure &&
37 Bytes.equals(entry.getKey().getEncodedRegionName(), "break".getBytes())) {
38 System.out.println(getClass().getName() + ": I will throw an exception now...");
39 throw(new IOException("This exception is instrumented and should only be thrown for testing"
40 ));
41 }
42 }
43 }