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,
|
sleep_interval_minutes: u64,
|
||||||
) -> Result<()> {
|
) -> Result<()> {
|
||||||
loop {
|
loop {
|
||||||
let flagged = catalog
|
let parquet_file_flagged = catalog
|
||||||
.repositories()
|
.repositories()
|
||||||
.await
|
.await
|
||||||
.parquet_files()
|
.parquet_files()
|
||||||
.flag_for_delete_by_retention()
|
.flag_for_delete_by_retention()
|
||||||
.await
|
.await
|
||||||
.context(FlaggingSnafu)?;
|
.context(ParquetFileFlaggingSnafu)?;
|
||||||
info!(flagged_count = %flagged.len(), "iox_catalog::flag_for_delete_by_retention()");
|
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! {
|
select! {
|
||||||
_ = shutdown.cancelled() => {
|
_ = shutdown.cancelled() => {
|
||||||
break
|
break
|
||||||
|
@ -38,7 +47,12 @@ pub(crate) async fn perform(
|
||||||
#[allow(missing_docs)]
|
#[allow(missing_docs)]
|
||||||
pub enum Error {
|
pub enum Error {
|
||||||
#[snafu(display("Failed to flag parquet files for deletion by retention policy"))]
|
#[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,
|
source: iox_catalog::interface::Error,
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue