feat: call soft delete partitions from garbage collector (#6090)

pull/24376/head
Nga Tran 2022-11-09 09:48:26 -05:00 committed by GitHub
parent 77a2541172
commit 9fe7a50129
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 19 additions and 5 deletions

View File

@ -11,16 +11,25 @@ pub(crate) async fn perform(
sleep_interval_minutes: u64,
) -> Result<()> {
loop {
let flagged = catalog
let parquet_file_flagged = catalog
.repositories()
.await
.parquet_files()
.flag_for_delete_by_retention()
.await
.context(FlaggingSnafu)?;
info!(flagged_count = %flagged.len(), "iox_catalog::flag_for_delete_by_retention()");
.context(ParquetFileFlaggingSnafu)?;
info!(parquet_file_flagged_count = %parquet_file_flagged.len(), "iox_catalog::parquet_file::flag_for_delete_by_retention()");
if flagged.is_empty() {
let partition_flagged = catalog
.repositories()
.await
.partitions()
.flag_for_delete_by_retention()
.await
.context(PartitionFlaggingSnafu)?;
info!(partition_flagged_count = %partition_flagged.len(), "iox_catalog::partition::flag_for_delete_by_retention()");
if parquet_file_flagged.is_empty() && partition_flagged.is_empty() {
select! {
_ = shutdown.cancelled() => {
break
@ -38,7 +47,12 @@ pub(crate) async fn perform(
#[allow(missing_docs)]
pub enum Error {
#[snafu(display("Failed to flag parquet files for deletion by retention policy"))]
Flagging {
ParquetFileFlagging {
source: iox_catalog::interface::Error,
},
#[snafu(display("Failed to flag partitions for deletion by retention policy"))]
PartitionFlagging {
source: iox_catalog::interface::Error,
},
}