feat: call soft delete partitions from garbage collector (#6090)
parent
77a2541172
commit
9fe7a50129
|
@ -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,
|
||||
},
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue