1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.apache.hadoop.hbase.regionserver.wal;
19
20 import java.io.IOException;
21
22 import org.apache.commons.logging.Log;
23 import org.apache.commons.logging.LogFactory;
24 import org.apache.hadoop.conf.Configuration;
25 import org.apache.hadoop.fs.FileSystem;
26 import org.apache.hadoop.fs.Path;
27 import org.apache.hadoop.hbase.HBaseFileSystem;
28 import org.apache.hadoop.hbase.regionserver.HRegionFileSystem;
29 import org.apache.hadoop.hbase.regionserver.wal.HLog.Writer;
30
31
32
33
34
35 public class HLogFileSystem extends HBaseFileSystem {
36 public static final Log LOG = LogFactory.getLog(HLogFileSystem.class);
37
38
39
40
41
42
43 public HLogFileSystem(Configuration conf) {
44 setRetryCounts(conf);
45 }
46
47
48
49
50
51
52
53
54
55 public Writer createWriter(FileSystem fs, Configuration conf, Path hlogFile) throws IOException {
56 int i = 0;
57 IOException lastIOE = null;
58 do {
59 try {
60 return HLog.createWriter(fs, hlogFile, conf);
61 } catch (IOException ioe) {
62 lastIOE = ioe;
63 sleepBeforeRetry("Create Writer", i+1);
64 }
65 } while (++i <= hdfsClientRetriesNumber);
66 throw new IOException("Exception in createWriter", lastIOE);
67
68 }
69 }