198198import org .apache .hadoop .hbase .shaded .protobuf .generated .MasterProtos .MergeTableRegionsResponse ;
199199import org .apache .hadoop .hbase .shaded .protobuf .generated .MasterProtos .ModifyColumnRequest ;
200200import org .apache .hadoop .hbase .shaded .protobuf .generated .MasterProtos .ModifyColumnResponse ;
201+ import org .apache .hadoop .hbase .shaded .protobuf .generated .MasterProtos .ModifyColumnStoreFileTrackerRequest ;
202+ import org .apache .hadoop .hbase .shaded .protobuf .generated .MasterProtos .ModifyColumnStoreFileTrackerResponse ;
201203import org .apache .hadoop .hbase .shaded .protobuf .generated .MasterProtos .ModifyNamespaceRequest ;
202204import org .apache .hadoop .hbase .shaded .protobuf .generated .MasterProtos .ModifyNamespaceResponse ;
203205import org .apache .hadoop .hbase .shaded .protobuf .generated .MasterProtos .ModifyTableRequest ;
204206import org .apache .hadoop .hbase .shaded .protobuf .generated .MasterProtos .ModifyTableResponse ;
207+ import org .apache .hadoop .hbase .shaded .protobuf .generated .MasterProtos .ModifyTableStoreFileTrackerRequest ;
208+ import org .apache .hadoop .hbase .shaded .protobuf .generated .MasterProtos .ModifyTableStoreFileTrackerResponse ;
205209import org .apache .hadoop .hbase .shaded .protobuf .generated .MasterProtos .MoveRegionRequest ;
206210import org .apache .hadoop .hbase .shaded .protobuf .generated .MasterProtos .RestoreSnapshotRequest ;
207211import org .apache .hadoop .hbase .shaded .protobuf .generated .MasterProtos .RestoreSnapshotResponse ;
@@ -368,19 +372,54 @@ public TableDescriptor getDescriptor(TableName tableName)
368372 public Future <Void > modifyTableAsync (TableDescriptor td ) throws IOException {
369373 ModifyTableResponse response = executeCallable (
370374 new MasterCallable <ModifyTableResponse >(getConnection (), getRpcControllerFactory ()) {
371- Long nonceGroup = ng .getNonceGroup ();
372- Long nonce = ng .newNonce ();
375+ long nonceGroup = ng .getNonceGroup ();
376+ long nonce = ng .newNonce ();
377+
373378 @ Override
374379 protected ModifyTableResponse rpcCall () throws Exception {
375380 setPriority (td .getTableName ());
376- ModifyTableRequest request = RequestConverter . buildModifyTableRequest (
377- td .getTableName (), td , nonceGroup , nonce );
381+ ModifyTableRequest request =
382+ RequestConverter . buildModifyTableRequest ( td .getTableName (), td , nonceGroup , nonce );
378383 return master .modifyTable (getRpcController (), request );
379384 }
380385 });
381386 return new ModifyTableFuture (this , td .getTableName (), response );
382387 }
383388
389+
390+ @ Override
391+ public Future <Void > modifyTableStoreFileTrackerAsync (TableName tableName , String dstSFT )
392+ throws IOException {
393+ ModifyTableStoreFileTrackerResponse response =
394+ executeCallable (new MasterCallable <ModifyTableStoreFileTrackerResponse >(getConnection (),
395+ getRpcControllerFactory ()) {
396+ long nonceGroup = ng .getNonceGroup ();
397+ long nonce = ng .newNonce ();
398+
399+ @ Override
400+ protected ModifyTableStoreFileTrackerResponse rpcCall () throws Exception {
401+ setPriority (tableName );
402+ ModifyTableStoreFileTrackerRequest request = RequestConverter
403+ .buildModifyTableStoreFileTrackerRequest (tableName , dstSFT , nonceGroup , nonce );
404+ return master .modifyTableStoreFileTracker (getRpcController (), request );
405+ }
406+ });
407+ return new ModifyTablerStoreFileTrackerFuture (this , tableName , response );
408+ }
409+
410+ private static class ModifyTablerStoreFileTrackerFuture extends ModifyTableFuture {
411+ public ModifyTablerStoreFileTrackerFuture (HBaseAdmin admin , TableName tableName ,
412+ ModifyTableStoreFileTrackerResponse response ) {
413+ super (admin , tableName ,
414+ (response != null && response .hasProcId ()) ? response .getProcId () : null );
415+ }
416+
417+ @ Override
418+ public String getOperationType () {
419+ return "MODIFY_TABLE_STORE_FILE_TRACKER" ;
420+ }
421+ }
422+
384423 @ Override
385424 public List <TableDescriptor > listTableDescriptorsByNamespace (byte [] name ) throws IOException {
386425 return executeCallable (new MasterCallable <List <TableDescriptor >>(getConnection (),
@@ -1077,21 +1116,20 @@ public String getOperationType() {
10771116
10781117 @ Override
10791118 public Future <Void > modifyColumnFamilyAsync (final TableName tableName ,
1080- final ColumnFamilyDescriptor columnFamily ) throws IOException {
1081- ModifyColumnResponse response =
1082- executeCallable (new MasterCallable <ModifyColumnResponse >(getConnection (),
1083- getRpcControllerFactory ()) {
1084- Long nonceGroup = ng .getNonceGroup ();
1085- Long nonce = ng .newNonce ();
1086- @ Override
1087- protected ModifyColumnResponse rpcCall () throws Exception {
1088- setPriority (tableName );
1089- ModifyColumnRequest req =
1090- RequestConverter .buildModifyColumnRequest (tableName , columnFamily ,
1091- nonceGroup , nonce );
1092- return master .modifyColumn (getRpcController (), req );
1093- }
1094- });
1119+ final ColumnFamilyDescriptor columnFamily ) throws IOException {
1120+ ModifyColumnResponse response = executeCallable (
1121+ new MasterCallable <ModifyColumnResponse >(getConnection (), getRpcControllerFactory ()) {
1122+ long nonceGroup = ng .getNonceGroup ();
1123+ long nonce = ng .newNonce ();
1124+
1125+ @ Override
1126+ protected ModifyColumnResponse rpcCall () throws Exception {
1127+ setPriority (tableName );
1128+ ModifyColumnRequest req =
1129+ RequestConverter .buildModifyColumnRequest (tableName , columnFamily , nonceGroup , nonce );
1130+ return master .modifyColumn (getRpcController (), req );
1131+ }
1132+ });
10951133 return new ModifyColumnFamilyFuture (this , tableName , response );
10961134 }
10971135
@@ -1108,6 +1146,39 @@ public String getOperationType() {
11081146 }
11091147 }
11101148
1149+ @ Override
1150+ public Future <Void > modifyColumnFamilyStoreFileTrackerAsync (TableName tableName , byte [] family ,
1151+ String dstSFT ) throws IOException {
1152+ ModifyColumnStoreFileTrackerResponse response =
1153+ executeCallable (new MasterCallable <ModifyColumnStoreFileTrackerResponse >(getConnection (),
1154+ getRpcControllerFactory ()) {
1155+ long nonceGroup = ng .getNonceGroup ();
1156+ long nonce = ng .newNonce ();
1157+
1158+ @ Override
1159+ protected ModifyColumnStoreFileTrackerResponse rpcCall () throws Exception {
1160+ setPriority (tableName );
1161+ ModifyColumnStoreFileTrackerRequest req = RequestConverter
1162+ .buildModifyColumnStoreFileTrackerRequest (tableName , family , dstSFT , nonceGroup , nonce );
1163+ return master .modifyColumnStoreFileTracker (getRpcController (), req );
1164+ }
1165+ });
1166+ return new ModifyColumnFamilyStoreFileTrackerFuture (this , tableName , response );
1167+ }
1168+
1169+ private static class ModifyColumnFamilyStoreFileTrackerFuture extends ModifyTableFuture {
1170+ public ModifyColumnFamilyStoreFileTrackerFuture (HBaseAdmin admin , TableName tableName ,
1171+ final ModifyColumnStoreFileTrackerResponse response ) {
1172+ super (admin , tableName ,
1173+ (response != null && response .hasProcId ()) ? response .getProcId () : null );
1174+ }
1175+
1176+ @ Override
1177+ public String getOperationType () {
1178+ return "MODIFY_COLUMN_FAMILY_STORE_FILE_TRACKER" ;
1179+ }
1180+ }
1181+
11111182 @ Deprecated
11121183 @ Override
11131184 public void closeRegion (final String regionName , final String unused ) throws IOException {
0 commit comments