From f666d89919a97f2ca8b3bcbc94d67873b38c0a6f Mon Sep 17 00:00:00 2001 From: congqixia Date: Mon, 28 Jul 2025 22:33:35 +0800 Subject: [PATCH] fix: [StorageV2] Access future result to get exception if any (#43613) Related to #43584 When `LoadWithStrategy` throw exception, the ex was wrapped in the returned future. If the future is not handled, this exception would be ignored. This patch add `future.get()` to get exception if any. Signed-off-by: Congqi Xia --- .../src/segcore/storagev2translator/GroupChunkTranslator.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/internal/core/src/segcore/storagev2translator/GroupChunkTranslator.cpp b/internal/core/src/segcore/storagev2translator/GroupChunkTranslator.cpp index 0277c4462f..1f59c1aae1 100644 --- a/internal/core/src/segcore/storagev2translator/GroupChunkTranslator.cpp +++ b/internal/core/src/segcore/storagev2translator/GroupChunkTranslator.cpp @@ -231,6 +231,10 @@ GroupChunkTranslator::get_cells(const std::vector& cids) { filled_cids.insert(cid); } } + + // access underlying feature to get exception if any + load_future.get(); + // Verify all requested cids have been filled for (auto cid : cids) { AssertInfo(filled_cids.find(cid) != filled_cids.end(),