diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.java index 1828340e333..be0741d8730 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.java @@ -94,7 +94,6 @@ public class SplitTableRegionProcedure private RegionInfo daughter_1_RI; private RegionInfo daughter_2_RI; private byte[] bestSplitRow; - private TableDescriptor htd; private RegionSplitPolicy splitPolicy; public SplitTableRegionProcedure() { @@ -120,14 +119,14 @@ public class SplitTableRegionProcedure .setSplit(false) .setRegionId(rid) .build(); - this.htd = env.getMasterServices().getTableDescriptors().get(getTableName()); - if(this.htd.getRegionSplitPolicyClassName() != null) { + TableDescriptor htd = env.getMasterServices().getTableDescriptors().get(getTableName()); + if(htd.getRegionSplitPolicyClassName() != null) { // Since we don't have region reference here, creating the split policy instance without it. // This can be used to invoke methods which don't require Region reference. This instantiation // of a class on Master-side though it only makes sense on the RegionServer-side is // for Phoenix Local Indexing. Refer HBASE-12583 for more information. Class clazz = - RegionSplitPolicy.getSplitPolicyClass(this.htd, env.getMasterConfiguration()); + RegionSplitPolicy.getSplitPolicyClass(htd, env.getMasterConfiguration()); this.splitPolicy = ReflectionUtils.newInstance(clazz, env.getMasterConfiguration()); } } @@ -611,6 +610,7 @@ public class SplitTableRegionProcedure maxThreads, Threads.getNamedThreadFactory("StoreFileSplitter-%1$d")); final List>> futures = new ArrayList>>(nbFiles); + TableDescriptor htd = env.getMasterServices().getTableDescriptors().get(getTableName()); // Split each store file. for (Map.Entry>e: files.entrySet()) { byte [] familyName = Bytes.toBytes(e.getKey());