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;
21
22 import org.apache.commons.logging.Log;
23 import org.apache.commons.logging.LogFactory;
24 import org.apache.hadoop.hbase.HConstants;
25 import org.apache.hadoop.hbase.HRegionInfo;
26 import org.apache.hadoop.hbase.TableNotDisabledException;
27 import org.apache.hadoop.hbase.client.Put;
28 import org.apache.hadoop.hbase.ipc.HRegionInterface;
29 import org.apache.hadoop.hbase.util.Writables;
30
31 import java.io.IOException;
32
33 abstract class ColumnOperation extends TableOperation {
34 private final Log LOG = LogFactory.getLog(this.getClass());
35
36 protected ColumnOperation(final HMaster master, final byte [] tableName)
37 throws IOException {
38 super(master, tableName);
39 }
40
41 @Override
42 protected void processScanItem(String serverName, final HRegionInfo info)
43 throws IOException {
44 if (isEnabled(info)) {
45 throw new TableNotDisabledException(tableName);
46 }
47 }
48
49 protected void updateRegionInfo(HRegionInterface server, byte [] regionName,
50 HRegionInfo i) throws IOException {
51 Put put = new Put(i.getRegionName());
52 put.add(HConstants.CATALOG_FAMILY, HConstants.REGIONINFO_QUALIFIER, Writables.getBytes(i));
53 server.put(regionName, put);
54 if (LOG.isDebugEnabled()) {
55 LOG.debug("updated columns in row: " + i.getRegionNameAsString());
56 }
57 }
58 }