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.master.handler;
21
22 import java.io.IOException;
23 import java.util.List;
24
25 import org.apache.hadoop.hbase.HRegionInfo;
26 import org.apache.hadoop.hbase.HTableDescriptor;
27 import org.apache.hadoop.hbase.Server;
28 import org.apache.hadoop.hbase.master.MasterServices;
29 import org.apache.hadoop.hbase.util.Bytes;
30
31
32
33
34 public class TableDeleteFamilyHandler extends TableEventHandler {
35
36 private final byte [] familyName;
37
38 public TableDeleteFamilyHandler(byte[] tableName, byte [] familyName,
39 Server server, final MasterServices masterServices) throws IOException {
40 super(EventType.C_M_ADD_FAMILY, tableName, server, masterServices);
41 HTableDescriptor htd = getTableDescriptor();
42 this.familyName = hasColumnFamily(htd, familyName);
43 }
44
45 @Override
46 protected void handleTableOperation(List<HRegionInfo> hris) throws IOException {
47
48 HTableDescriptor htd =
49 this.masterServices.getMasterFileSystem().deleteColumn(tableName, familyName);
50
51 this.masterServices.getTableDescriptors().add(htd);
52 }
53
54 @Override
55 public String toString() {
56 String name = "UnknownServerName";
57 if(server != null && server.getServerName() != null) {
58 name = server.getServerName().toString();
59 }
60 String family = "UnknownFamily";
61 if(familyName != null) {
62 family = Bytes.toString(familyName);
63 }
64 return getClass().getSimpleName() + "-" + name + "-" + getSeqid() + "-" + tableNameStr + "-" + family;
65 }
66 }