2222import com .netflix .priam .config .IConfiguration ;
2323import com .netflix .priam .health .InstanceState ;
2424import com .netflix .priam .identity .token .TokenRetriever ;
25+ import com .netflix .priam .merics .BackupMetrics ;
2526import com .netflix .priam .scheduler .SimpleTimer ;
2627import com .netflix .priam .scheduler .Task ;
2728import com .netflix .priam .scheduler .TaskTimer ;
5657@ Singleton
5758public class BackupTTLTask extends Task {
5859 private static final Logger logger = LoggerFactory .getLogger (BackupTTLTask .class );
59- private IBackupRestoreConfig backupRestoreConfig ;
60- private IMetaProxy metaProxy ;
61- private IBackupFileSystem fileSystem ;
62- private Provider <AbstractBackupPath > abstractBackupPathProvider ;
63- private InstanceState instanceState ;
60+ private final IBackupRestoreConfig backupRestoreConfig ;
61+ private final IMetaProxy metaProxy ;
62+ private final IBackupFileSystem fileSystem ;
63+ private final Provider <AbstractBackupPath > abstractBackupPathProvider ;
64+ private final InstanceState instanceState ;
6465 public static final String JOBNAME = "BackupTTLService" ;
65- private Map <String , Boolean > filesInMeta = new HashMap <>();
66- private List <Path > filesToDelete = new ArrayList <>();
66+ private final Map <String , Boolean > filesInMeta = new HashMap <>();
67+ private final List <Path > filesToDelete = new ArrayList <>();
6768 private static final Lock lock = new ReentrantLock ();
68- private final int BATCH_SIZE = 1000 ;
69+ private static final int BATCH_SIZE = 1000 ;
6970 private final Instant start_of_feature = DateUtil .parseInstant ("201801010000" );
7071 private final int maxWaitMillis ;
72+ private final BackupMetrics backupMetrics ;
7173
7274 @ Inject
7375 public BackupTTLTask (
@@ -77,7 +79,8 @@ public BackupTTLTask(
7779 IFileSystemContext backupFileSystemCtx ,
7880 Provider <AbstractBackupPath > abstractBackupPathProvider ,
7981 InstanceState instanceState ,
80- TokenRetriever tokenRetriever )
82+ TokenRetriever tokenRetriever ,
83+ BackupMetrics backupMetrics )
8184 throws Exception {
8285 super (configuration );
8386 this .backupRestoreConfig = backupRestoreConfig ;
@@ -89,6 +92,7 @@ public BackupTTLTask(
8992 1_000
9093 * backupRestoreConfig .getBackupTTLMonitorPeriodInSec ()
9194 / tokenRetriever .getRingPosition ().getDenominator ();
95+ this .backupMetrics = backupMetrics ;
9296 }
9397
9498 @ Override
@@ -221,6 +225,8 @@ private void deleteFile(AbstractBackupPath path, boolean forceClear)
221225
222226 if (forceClear || filesToDelete .size () >= BATCH_SIZE ) {
223227 fileSystem .deleteRemoteFiles (filesToDelete );
228+ backupMetrics .incrementBackupTtlFiles (filesToDelete .size ());
229+ logger .info ("Deleted(TTL-ed) {} META backup files" , filesToDelete .size ());
224230 filesToDelete .clear ();
225231 }
226232 }
0 commit comments