Uh oh!
There was an error while loading. Please reload this page.
[ZEPPELIN-6322] Filter download messages in ProcessData error stream - #5104
Conversation
tbonelee
commented
Jul 11, 2026
Thanks for tackling this. The direction makes sense, and pulling the patterns into a constant array with an I do want to raise one concern up front, because I think it should drive the whole design: this change can silently hide real error messages, and in test output that's a costly failure mode. When an integration test fails, these error lines are often the only clue we have. A filter that removes the wrong line doesn't just add noise, it can make a real failure look like it never happened, or send someone debugging in the wrong direction for hours. So I'd argue we should approach this as conservatively as possible: decluttering is a nice-to-have, but never dropping a genuine error is a hard requirement. A few points through that lens: 1. The current patterns are broad enough to swallow real errors Several patterns match anywhere in a line, so they will catch legitimate messages that merely happen to contain a size or percentage figure, for example:
Worse, the download check runs before the 2. Prefer downgrading over dropping, so nothing is ever lost Given the above, I'd suggest we never fully drop a line. Routing suspected download lines to if (!temp.trim().isEmpty()) {
Stringlower = temp.toLowerCase();
if (lower.contains("error") || lower.contains("failed")) {
LOGGER.warn(temp.trim()); // real errors: always visible, never filtered
} elseif (isDownloadMessage(temp)) {
LOGGER.trace(temp.trim()); // hidden by default, but recoverable
} else {
LOGGER.debug(temp.trim());
}
}This ordering also guarantees anything containing 3. The filter runs on buffer chunks, not lines Separately, 4. Minor: this affects console logging, not the returned error stream
Once the approach settles, a unit test on |
celinayk
commented
Jul 20, 2026
Thanks for the thorough review, @tbonelee — really appreciate the depth here. Pushed a fix in c8225fa that addresses all four points:
Also added Let me know if anything still looks off |
Uh oh!
There was an error while loading. Please reload this page.
tbonelee
commented
Jul 20, 2026
Merged into master |
What is this PR for?
This PR improves error stream output filtering in the
ProcessDataclass to exclude download-related messages. Currently, Maven/npm download progress information clutters the error stream during integration tests, making it difficult to identify actual errors.This change filters out download messages (e.g., "Downloading:", "Progress: 45%", "1024/2048 KB") while preserving real error messages.
What type of PR is it?
Improvement
Todos
What is the Jira issue?
ZEPPELIN-6322
How should this be tested?
Screenshots (if appropriate)
Questions: