-
Notifications
You must be signed in to change notification settings - Fork 4.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Remove logic that increases delay between progress updates over time #16221
Remove logic that increases delay between progress updates over time #16221
Conversation
Regarding the build failures: it appears to me that the failing Merging master seems to have resolved the failing test. |
…ress-rate-increase-over-time
There was a good reason for the increasing time feature to be added in the first place: "In the experimental UI, increase the rate limit for updates to the progress Don't you think that reasoning still applies? |
I read that as well, but I don't see how it still applies. There now is I don't see how secretly taking the floor of the specified progress interval and 15% of the runtime improves things. (I don't think anyone would feel overwhelmed if they ask for an update every 20 seconds and get an update every 20 seconds). |
True, but the point here is that rather than the user having to figure out what flag to set to what value, it automatically notices the lack of cursor control and adapts in a way that gives more feedback at first, but tapers off for long builds. Your change is making the UI more manual. |
If no flags are provided, the default is interval is 20 seconds. So for the first ~2 minutes (20/0.15 seconds), there is no difference in output with and without this change. So initial feedback is the same for the "default" case. It is true that users who want fewer updates than the default for their long-running jobs would need to provide a flag where they didn't before. However, I'd like to the point to the converse situation also: users who want to have more logging than the current implementation cannot even provide a flag to change the behavior, they have an incremental delay between messages no-matter what. I'd say that the latter case is worse than the first case, also because I find it hard to think of many contexts where a log message every 20 seconds is acceptable at first, but disturbing later. |
I'm more inclined to agree with Tom. The current implementation takes this decision out of the hands of the user, and if this were really necessary, should be a separate flag. I'll test and review this tomorrow. |
With this change, the difference between |
…ress-rate-increase-over-time # Conflicts: # src/main/java/com/google/devtools/build/lib/runtime/UiEventHandler.java
When updating the docs I noticed that This meant that the I've also tried to make the docs a bit more explicit. |
It's even more confusing than that. The |
Yes, the In addition to that, the Also the The original reason for this PR is that |
src/main/java/com/google/devtools/build/lib/runtime/UiEventHandler.java
Outdated
Show resolved
Hide resolved
Thanks for the contribution @tom-cnops! |
@bazel-io flag |
@bazel-io fork 6.0.0 |
…16606) Removes a bit of undocumented behavior that increases the delay between progress updates the longer the build is running. Potentially resolves #16119 Also renamed `MAXIMAL_UPDATE_DELAY_MILLIS` to `MINIMAL_UPDATE_INTERVAL_MILLIS` because it is used as a minimum and doesn't affect the delay between messages. Fixes #16119. Closes #16221. RELNOTES[INC]: Bazel no longer increases the delay between progress updates when there is no cursor control. PiperOrigin-RevId: 484203851 Change-Id: I33f7302ca85b75135744eb6093b618196199a49f Co-authored-by: Tom Cnops <[email protected]>
Removes a bit of undocumented behavior that increases the delay between progress updates the longer the build is running.
Potentially resolves #16119
Also renamed
MAXIMAL_UPDATE_DELAY_MILLIS
toMINIMAL_UPDATE_INTERVAL_MILLIS
because it is used as a minimum and doesn't affect the delay between messages.