server: fix batch acceleration problem#6886
Merged
Conversation
Problem: batch acceleration creates additional instances, perhaps several, for a job. This causes the job to get flagged as 'too many results', and some instances don't get credit. Solution: when creating a new instance, increment max_total_results. Also: change server log timestamps to use UTC. Web pages show UTC, and we need consistency.
Contributor
There was a problem hiding this comment.
Pull request overview
This PR addresses a critical issue where batch acceleration was creating additional job instances without incrementing the maximum allowed total results, causing jobs to be incorrectly flagged as "too many results" and preventing some instances from receiving credit. Additionally, the PR standardizes server log timestamps to use UTC for consistency with web pages.
Changes:
- Fixed batch acceleration to increment
max_total_resultswhen creating new instances - Standardized server log timestamps to UTC format
- Improved documentation and UI labels for workunit fields
Reviewed changes
Copilot reviewed 7 out of 7 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| html/ops/batch_accel.php | Added increment of max_total_results when creating new job instances, improved debug output, and added clarifying comments |
| sched/transitioner.cpp | Added detailed diagnostic logging for "too many total results" errors, reformatted a conditional statement |
| lib/str_util.h | Added optional utc parameter (default false) to time_to_string and precision_time_to_string functions |
| lib/str_util.cpp | Implemented UTC support in time formatting functions with " UTC" suffix when enabled, minor formatting improvements |
| lib/msg_log.cpp | Updated all MSG_LOG timestamp calls to use UTC format, revised comments to clarify usage |
| html/user/workunit.php | Made application name clickable linking to app details page, changed label from "initial replication" to "target #results" for clarity |
| db/boinc_db_types.h | Enhanced documentation for workunit result limit fields, clarifying which component enforces each limit |
Comments suppressed due to low confidence (3)
lib/msg_log.cpp:50
- The comment incorrectly refers to "sched/sched_msg_log.cpp" which doesn't exist. The SCHED_MSG_LOG class is actually defined in lib/sched_msgs.h and implemented in lib/sched_msgs.cpp. The comment should reference lib/sched_msgs.cpp instead.
// Base class for SCHED_MSG_LOG, used by scheduler components.
// See sched/sched_msg_log.cpp
html/ops/batch_accel.php:61
- Minor grammatical error: should be "results" (plural) instead of "result".
// - we're not at the max # of result
sched/transitioner.cpp:370
- The addition of braces around this single-line if statement is inconsistent with the surrounding code style in this file, which commonly uses single-line if statements without braces (see lines 79, 106, 109, 113, etc. in the same file). While adding braces can improve readability and prevent future bugs, it deviates from the established pattern.
if (n_new_results_needed < 0) {
n_new_results_needed = 0;
}
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
AenBleidd
approved these changes
Feb 24, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem: batch acceleration creates additional instances, perhaps several, for a job.
This causes the job to get flagged as 'too many results', and some instances don't get credit.
Solution: when creating a new instance, increment max_total_results.
Also: change server log timestamps to use UTC.
Web pages show UTC, and we need consistency.
Summary by cubic
Fixes batch acceleration creating extra results by increasing max_total_results when adding a new task, preventing “too many results” errors and lost credit. Also switches server log timestamps to UTC to match the web UI.
Bug Fixes
Refactors
Written for commit 94850e8. Summary will update on new commits.