leaves12138 commented on code in PR #8742:
URL: https://github.com/apache/paimon/pull/8742#discussion_r3612111495
##########
paimon-python/pypaimon/globalindex/union_global_index_reader.py:
##########
@@ -54,6 +59,9 @@ def on_done(_):
for f in futures:
current = f.result()
if current is None:
+ if propagate_unsupported:
+ all_done.set_result(None)
Review Comment:
`propagate_unsupported` returns as soon as the first `None` is encountered,
so a failed future later in `futures` is never observed. For example,
`[completed(None), failed(RuntimeError(...))]` completes this union
successfully with `None`; reversing the readers raises. Java’s
`CompletableFuture.allOf` propagates any child failure, and the previous Python
loop also reached the failed future. Please materialize all child results first
(for example, `results = [f.result() for f in futures]`) and only then apply
the unsupported check/union, and add a regression test for both reader orders.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]