HBASE-26475 The flush and compact methods in HTU should skip processing secondary replicas (#3868)
Signed-off-by: Xiaolin Ha <haxiaolin@apache.org>
This commit is contained in:
parent
113800bb06
commit
e4ad6e9f64
|
@ -1471,7 +1471,6 @@ public class HBaseTestingUtility extends HBaseZKTestingUtility {
|
|||
|
||||
/**
|
||||
* Flushes all caches in the mini hbase cluster
|
||||
* @throws IOException
|
||||
*/
|
||||
public void flush() throws IOException {
|
||||
getMiniHBaseCluster().flushcache();
|
||||
|
@ -1479,7 +1478,6 @@ public class HBaseTestingUtility extends HBaseZKTestingUtility {
|
|||
|
||||
/**
|
||||
* Flushes all caches in the mini hbase cluster
|
||||
* @throws IOException
|
||||
*/
|
||||
public void flush(TableName tableName) throws IOException {
|
||||
getMiniHBaseCluster().flushcache(tableName);
|
||||
|
@ -1487,7 +1485,6 @@ public class HBaseTestingUtility extends HBaseZKTestingUtility {
|
|||
|
||||
/**
|
||||
* Compact all regions in the mini hbase cluster
|
||||
* @throws IOException
|
||||
*/
|
||||
public void compact(boolean major) throws IOException {
|
||||
getMiniHBaseCluster().compact(major);
|
||||
|
@ -1495,7 +1492,6 @@ public class HBaseTestingUtility extends HBaseZKTestingUtility {
|
|||
|
||||
/**
|
||||
* Compact all of a table's reagion in the mini hbase cluster
|
||||
* @throws IOException
|
||||
*/
|
||||
public void compact(TableName tableName, boolean major) throws IOException {
|
||||
getMiniHBaseCluster().compact(tableName, major);
|
||||
|
|
|
@ -24,9 +24,9 @@ import java.util.ArrayList;
|
|||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
import org.apache.hadoop.conf.Configuration;
|
||||
import org.apache.hadoop.fs.FileSystem;
|
||||
import org.apache.hadoop.hbase.client.RegionReplicaUtil;
|
||||
import org.apache.hadoop.hbase.master.HMaster;
|
||||
import org.apache.hadoop.hbase.regionserver.HRegion;
|
||||
import org.apache.hadoop.hbase.regionserver.HRegion.FlushResult;
|
||||
|
@ -727,6 +727,9 @@ public class MiniHBaseCluster extends HBaseCluster {
|
|||
}
|
||||
|
||||
private void executeFlush(HRegion region) throws IOException {
|
||||
if (!RegionReplicaUtil.isDefaultReplica(region.getRegionInfo())) {
|
||||
return;
|
||||
}
|
||||
// retry 5 times if we can not flush
|
||||
for (int i = 0; i < 5; i++) {
|
||||
FlushResult result = region.flush(true);
|
||||
|
@ -766,10 +769,11 @@ public class MiniHBaseCluster extends HBaseCluster {
|
|||
* @throws IOException
|
||||
*/
|
||||
public void compact(boolean major) throws IOException {
|
||||
for (JVMClusterUtil.RegionServerThread t:
|
||||
this.hbaseCluster.getRegionServers()) {
|
||||
for(HRegion r: t.getRegionServer().getOnlineRegionsLocalContext()) {
|
||||
r.compact(major);
|
||||
for (JVMClusterUtil.RegionServerThread t : this.hbaseCluster.getRegionServers()) {
|
||||
for (HRegion r : t.getRegionServer().getOnlineRegionsLocalContext()) {
|
||||
if (RegionReplicaUtil.isDefaultReplica(r.getRegionInfo())) {
|
||||
r.compact(major);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -779,11 +783,12 @@ public class MiniHBaseCluster extends HBaseCluster {
|
|||
* @throws IOException
|
||||
*/
|
||||
public void compact(TableName tableName, boolean major) throws IOException {
|
||||
for (JVMClusterUtil.RegionServerThread t:
|
||||
this.hbaseCluster.getRegionServers()) {
|
||||
for(HRegion r: t.getRegionServer().getOnlineRegionsLocalContext()) {
|
||||
if(r.getTableDescriptor().getTableName().equals(tableName)) {
|
||||
r.compact(major);
|
||||
for (JVMClusterUtil.RegionServerThread t : this.hbaseCluster.getRegionServers()) {
|
||||
for (HRegion r : t.getRegionServer().getOnlineRegionsLocalContext()) {
|
||||
if (r.getTableDescriptor().getTableName().equals(tableName)) {
|
||||
if (RegionReplicaUtil.isDefaultReplica(r.getRegionInfo())) {
|
||||
r.compact(major);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue