Search before asking
Paimon version
master
Compute Engine
all
Minimal reproduce step
.
What doesn't meet your expectations?
Description
When reading from a fallback branch in FallbackReadFileStoreTable, if the read operation fails, the exception is silently swallowed:
} catch (Exception ignored) {
LOG.error(
"Reading from supplemental branch has problems: {}",
fallbackSplit.wrapped());
}
This has two problems:
-
No fail-fast option: There is no way to let the read operation fail fast when the fallback branch is unavailable. The reader always silently falls back to the current branch, which can lead to incorrect or incomplete query results without any warning to the user.
-
Loss of exception stack trace: The LOG.error call does not include the exception object as a parameter, so the log only contains the split description but not the actual cause of the failure, making it very difficult to diagnose issues.
Expected Behavior
- Add a config option
scan.fallback-branch.read-fail-fast (default false) to allow users to opt into failing fast when the fallback branch read fails.
- When
fail-fast=false (default, preserving backward compatibility), log the full exception stack trace so that failures are observable.
- When
fail-fast=true, propagate the exception to the caller so the read operation fails immediately.
Anything else?
No response
Are you willing to submit a PR?
Search before asking
Paimon version
master
Compute Engine
all
Minimal reproduce step
.
What doesn't meet your expectations?
Description
When reading from a fallback branch in
FallbackReadFileStoreTable, if the read operation fails, the exception is silently swallowed:This has two problems:
No fail-fast option: There is no way to let the read operation fail fast when the fallback branch is unavailable. The reader always silently falls back to the current branch, which can lead to incorrect or incomplete query results without any warning to the user.
Loss of exception stack trace: The
LOG.errorcall does not include the exception object as a parameter, so the log only contains the split description but not the actual cause of the failure, making it very difficult to diagnose issues.Expected Behavior
scan.fallback-branch.read-fail-fast(defaultfalse) to allow users to opt into failing fast when the fallback branch read fails.fail-fast=false(default, preserving backward compatibility), log the full exception stack trace so that failures are observable.fail-fast=true, propagate the exception to the caller so the read operation fails immediately.Anything else?
No response
Are you willing to submit a PR?