199199import org .apache .hadoop .hbase .shaded .protobuf .generated .MasterProtos .MergeTableRegionsResponse ;
200200import org .apache .hadoop .hbase .shaded .protobuf .generated .MasterProtos .ModifyColumnRequest ;
201201import org .apache .hadoop .hbase .shaded .protobuf .generated .MasterProtos .ModifyColumnResponse ;
202+ import org .apache .hadoop .hbase .shaded .protobuf .generated .MasterProtos .ModifyColumnStoreFileTrackerRequest ;
203+ import org .apache .hadoop .hbase .shaded .protobuf .generated .MasterProtos .ModifyColumnStoreFileTrackerResponse ;
202204import org .apache .hadoop .hbase .shaded .protobuf .generated .MasterProtos .ModifyNamespaceRequest ;
203205import org .apache .hadoop .hbase .shaded .protobuf .generated .MasterProtos .ModifyNamespaceResponse ;
204206import org .apache .hadoop .hbase .shaded .protobuf .generated .MasterProtos .ModifyTableRequest ;
205207import org .apache .hadoop .hbase .shaded .protobuf .generated .MasterProtos .ModifyTableResponse ;
208+ import org .apache .hadoop .hbase .shaded .protobuf .generated .MasterProtos .ModifyTableStoreFileTrackerRequest ;
209+ import org .apache .hadoop .hbase .shaded .protobuf .generated .MasterProtos .ModifyTableStoreFileTrackerResponse ;
206210import org .apache .hadoop .hbase .shaded .protobuf .generated .MasterProtos .MoveRegionRequest ;
207211import org .apache .hadoop .hbase .shaded .protobuf .generated .MasterProtos .RestoreSnapshotRequest ;
208212import org .apache .hadoop .hbase .shaded .protobuf .generated .MasterProtos .RestoreSnapshotResponse ;
@@ -388,19 +392,54 @@ public TableDescriptor getDescriptor(TableName tableName)
388392 public Future <Void > modifyTableAsync (TableDescriptor td ) throws IOException {
389393 ModifyTableResponse response = executeCallable (
390394 new MasterCallable <ModifyTableResponse >(getConnection (), getRpcControllerFactory ()) {
391- Long nonceGroup = ng .getNonceGroup ();
392- Long nonce = ng .newNonce ();
395+ long nonceGroup = ng .getNonceGroup ();
396+ long nonce = ng .newNonce ();
397+
393398 @ Override
394399 protected ModifyTableResponse rpcCall () throws Exception {
395400 setPriority (td .getTableName ());
396- ModifyTableRequest request = RequestConverter . buildModifyTableRequest (
397- td .getTableName (), td , nonceGroup , nonce );
401+ ModifyTableRequest request =
402+ RequestConverter . buildModifyTableRequest ( td .getTableName (), td , nonceGroup , nonce );
398403 return master .modifyTable (getRpcController (), request );
399404 }
400405 });
401406 return new ModifyTableFuture (this , td .getTableName (), response );
402407 }
403408
409+
410+ @ Override
411+ public Future <Void > modifyTableStoreFileTrackerAsync (TableName tableName , String dstSFT )
412+ throws IOException {
413+ ModifyTableStoreFileTrackerResponse response =
414+ executeCallable (new MasterCallable <ModifyTableStoreFileTrackerResponse >(getConnection (),
415+ getRpcControllerFactory ()) {
416+ long nonceGroup = ng .getNonceGroup ();
417+ long nonce = ng .newNonce ();
418+
419+ @ Override
420+ protected ModifyTableStoreFileTrackerResponse rpcCall () throws Exception {
421+ setPriority (tableName );
422+ ModifyTableStoreFileTrackerRequest request = RequestConverter
423+ .buildModifyTableStoreFileTrackerRequest (tableName , dstSFT , nonceGroup , nonce );
424+ return master .modifyTableStoreFileTracker (getRpcController (), request );
425+ }
426+ });
427+ return new ModifyTablerStoreFileTrackerFuture (this , tableName , response );
428+ }
429+
430+ private static class ModifyTablerStoreFileTrackerFuture extends ModifyTableFuture {
431+ public ModifyTablerStoreFileTrackerFuture (HBaseAdmin admin , TableName tableName ,
432+ ModifyTableStoreFileTrackerResponse response ) {
433+ super (admin , tableName ,
434+ (response != null && response .hasProcId ()) ? response .getProcId () : null );
435+ }
436+
437+ @ Override
438+ public String getOperationType () {
439+ return "MODIFY_TABLE_STORE_FILE_TRACKER" ;
440+ }
441+ }
442+
404443 @ Override
405444 public List <TableDescriptor > listTableDescriptorsByNamespace (byte [] name ) throws IOException {
406445 return executeCallable (new MasterCallable <List <TableDescriptor >>(getConnection (),
@@ -1097,21 +1136,20 @@ public String getOperationType() {
10971136
10981137 @ Override
10991138 public Future <Void > modifyColumnFamilyAsync (final TableName tableName ,
1100- final ColumnFamilyDescriptor columnFamily ) throws IOException {
1101- ModifyColumnResponse response =
1102- executeCallable (new MasterCallable <ModifyColumnResponse >(getConnection (),
1103- getRpcControllerFactory ()) {
1104- Long nonceGroup = ng .getNonceGroup ();
1105- Long nonce = ng .newNonce ();
1106- @ Override
1107- protected ModifyColumnResponse rpcCall () throws Exception {
1108- setPriority (tableName );
1109- ModifyColumnRequest req =
1110- RequestConverter .buildModifyColumnRequest (tableName , columnFamily ,
1111- nonceGroup , nonce );
1112- return master .modifyColumn (getRpcController (), req );
1113- }
1114- });
1139+ final ColumnFamilyDescriptor columnFamily ) throws IOException {
1140+ ModifyColumnResponse response = executeCallable (
1141+ new MasterCallable <ModifyColumnResponse >(getConnection (), getRpcControllerFactory ()) {
1142+ long nonceGroup = ng .getNonceGroup ();
1143+ long nonce = ng .newNonce ();
1144+
1145+ @ Override
1146+ protected ModifyColumnResponse rpcCall () throws Exception {
1147+ setPriority (tableName );
1148+ ModifyColumnRequest req =
1149+ RequestConverter .buildModifyColumnRequest (tableName , columnFamily , nonceGroup , nonce );
1150+ return master .modifyColumn (getRpcController (), req );
1151+ }
1152+ });
11151153 return new ModifyColumnFamilyFuture (this , tableName , response );
11161154 }
11171155
@@ -1128,6 +1166,39 @@ public String getOperationType() {
11281166 }
11291167 }
11301168
1169+ @ Override
1170+ public Future <Void > modifyColumnFamilyStoreFileTrackerAsync (TableName tableName , byte [] family ,
1171+ String dstSFT ) throws IOException {
1172+ ModifyColumnStoreFileTrackerResponse response =
1173+ executeCallable (new MasterCallable <ModifyColumnStoreFileTrackerResponse >(getConnection (),
1174+ getRpcControllerFactory ()) {
1175+ long nonceGroup = ng .getNonceGroup ();
1176+ long nonce = ng .newNonce ();
1177+
1178+ @ Override
1179+ protected ModifyColumnStoreFileTrackerResponse rpcCall () throws Exception {
1180+ setPriority (tableName );
1181+ ModifyColumnStoreFileTrackerRequest req = RequestConverter
1182+ .buildModifyColumnStoreFileTrackerRequest (tableName , family , dstSFT , nonceGroup , nonce );
1183+ return master .modifyColumnStoreFileTracker (getRpcController (), req );
1184+ }
1185+ });
1186+ return new ModifyColumnFamilyStoreFileTrackerFuture (this , tableName , response );
1187+ }
1188+
1189+ private static class ModifyColumnFamilyStoreFileTrackerFuture extends ModifyTableFuture {
1190+ public ModifyColumnFamilyStoreFileTrackerFuture (HBaseAdmin admin , TableName tableName ,
1191+ final ModifyColumnStoreFileTrackerResponse response ) {
1192+ super (admin , tableName ,
1193+ (response != null && response .hasProcId ()) ? response .getProcId () : null );
1194+ }
1195+
1196+ @ Override
1197+ public String getOperationType () {
1198+ return "MODIFY_COLUMN_FAMILY_STORE_FILE_TRACKER" ;
1199+ }
1200+ }
1201+
11311202 @ Deprecated
11321203 @ Override
11331204 public void closeRegion (final String regionName , final String unused ) throws IOException {
0 commit comments