From f5435a4b77d559e6930a31fcd7a6e4386218d360 Mon Sep 17 00:00:00 2001 From: Wyatt Alt Date: Thu, 24 Sep 2026 20:48:54 +0000 Subject: [PATCH] fix: box the cascade refresh future The cascade future nests a refresh future per hop, and computing its layout overflowed the default query depth in crates that await it, such as the Python bindings. --- rust/lancedb/src/materialized_view.rs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/rust/lancedb/src/materialized_view.rs b/rust/lancedb/src/materialized_view.rs index aafaf62ce..a18d92e0a 100644 --- a/rust/lancedb/src/materialized_view.rs +++ b/rust/lancedb/src/materialized_view.rs @@ -2020,7 +2020,8 @@ impl RefreshMaterializedViewBuilder { let (table, full, pinned) = (&self.view.table, self.full, self.source_version); let expected = self.expected_incarnation.as_deref(); if self.cascade { - refresh::execute_cascade(table, full, pinned, expected).await + // Boxed: its nested refresh futures overflow callers' query depth. + Box::pin(refresh::execute_cascade(table, full, pinned, expected)).await } else { refresh::execute_refresh(table, full, pinned, expected).await }