Skip to content

server: fix batch acceleration problem#6886

Merged
AenBleidd merged 1 commit intomasterfrom
dpa_batch_accel6
Feb 24, 2026
Merged

server: fix batch acceleration problem#6886
AenBleidd merged 1 commit intomasterfrom
dpa_batch_accel6

Conversation

@davidpanderson
Copy link
Contributor

@davidpanderson davidpanderson commented Feb 24, 2026

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

    • Batch accel: increment max_total_results alongside target_nresults; only create a new result if under the cap and no unsent/recently sent task exists.
    • Transitioner: guard against exceeding max_total_results and add detailed diagnostics when a WU hits the limit.
  • Refactors

    • Server logs now use UTC; time formatting helpers accept a utc flag and callers updated.
    • Workunit page tweaks: app name links to its page, label changed to “target #results”; clarified WU limit field comments.

Written for commit 94850e8. Summary will update on new commits.

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.
Copilot AI review requested due to automatic review settings February 24, 2026 20:58
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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_results when 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.

Copy link
Contributor

@cubic-dev-ai cubic-dev-ai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No issues found across 7 files

@github-project-automation github-project-automation bot moved this to Backlog in Server Feb 24, 2026
@github-project-automation github-project-automation bot moved this to In progress in Client/Manager Feb 24, 2026
@AenBleidd AenBleidd added this to the Server Release 1.6.2 milestone Feb 24, 2026
@AenBleidd AenBleidd merged commit f4ef58f into master Feb 24, 2026
433 checks passed
@github-project-automation github-project-automation bot moved this from Backlog to Done in Server Feb 24, 2026
@AenBleidd AenBleidd deleted the dpa_batch_accel6 branch February 24, 2026 21:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

3 participants