Skip to content

Commit 546d06b

Browse files
committed
fix
1 parent a94df37 commit 546d06b

1 file changed

Lines changed: 12 additions & 0 deletions

File tree

src/query/ee/src/storages/fuse/operations/virtual_columns.rs

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ use databend_common_expression::TableDataType;
3333
use databend_common_expression::TableSchema;
3434
use databend_common_expression::VIRTUAL_COLUMNS_LIMIT;
3535
use databend_common_expression::VirtualDataSchema;
36+
use databend_common_meta_api::GarbageCollectionApi;
3637
use databend_common_meta_app::schema::ListHistoryTableBranchesReq;
3738
use databend_common_metrics::storage::metrics_inc_block_virtual_column_write_bytes;
3839
use databend_common_metrics::storage::metrics_inc_block_virtual_column_write_milliseconds;
@@ -60,6 +61,7 @@ use databend_common_storages_fuse::operations::MutationLogEntry;
6061
use databend_common_storages_fuse::operations::MutationLogs;
6162
use databend_common_storages_fuse::operations::TableMutationAggregator;
6263
use databend_common_storages_fuse::operations::VirtualSchemaMode;
64+
use databend_common_users::UserApiProvider;
6365
use databend_enterprise_virtual_column::VirtualColumnRefreshResult;
6466
use databend_query::pipelines::PipelineBuildResult;
6567
use databend_query::pipelines::executor::ExecutorSettings;
@@ -473,6 +475,16 @@ async fn vacuum_virtual_column_orphans(
473475
.await?;
474476
let retention_boundary =
475477
Utc::now() - Duration::days(ctx.get_settings().get_data_retention_time_in_days()? as i64);
478+
let meta_api = UserApiProvider::instance().get_meta_store_client();
479+
meta_api
480+
.fetch_set_vacuum_timestamp(&ctx.get_tenant(), retention_boundary)
481+
.await
482+
.map_err(|e| {
483+
ErrorCode::MetaStorageError(format!(
484+
"Failed to set vacuum watermark before vacuum virtual columns: {}. Vacuum aborted to prevent data inconsistency.",
485+
e
486+
))
487+
})?;
476488
let retain_branches = catalog
477489
.list_history_table_branches(ListHistoryTableBranchesReq {
478490
table_id: fuse_table.get_id(),

0 commit comments

Comments
 (0)