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