1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package org.apache.hadoop.hbase.exceptions;
21
22 import java.net.ConnectException;
23
24 import org.apache.hadoop.hbase.classification.InterfaceAudience;
25 import org.apache.hadoop.hbase.classification.InterfaceStability;
26 import org.apache.hadoop.hbase.ServerName;
27
28
29
30
31
32
33
34
35 @InterfaceAudience.Public
36 @InterfaceStability.Evolving
37 public class PreemptiveFastFailException extends ConnectException {
38 private static final long serialVersionUID = 7129103682617007177L;
39 private long failureCount, timeOfFirstFailureMilliSec, timeOfLatestAttemptMilliSec;
40
41
42
43
44
45
46
47 public PreemptiveFastFailException(long count, long timeOfFirstFailureMilliSec,
48 long timeOfLatestAttemptMilliSec, ServerName serverName) {
49 super("Exception happened " + count + " times. to" + serverName);
50 this.failureCount = count;
51 this.timeOfFirstFailureMilliSec = timeOfFirstFailureMilliSec;
52 this.timeOfLatestAttemptMilliSec = timeOfLatestAttemptMilliSec;
53 }
54
55 public long getFirstFailureAt() {
56 return timeOfFirstFailureMilliSec;
57 }
58
59 public long getLastAttemptAt() {
60 return timeOfLatestAttemptMilliSec;
61 }
62
63 public long getFailureCount() {
64 return failureCount;
65 }
66
67 public boolean wasOperationAttemptedByServer() {
68 return false;
69 }
70 }