Don't spam the journal with hydra-queue-runner status dumps

[?]
Mar 26, 2020, 2:30 PM
IZOT24A3DNHVBDQIRVRIKUMG3VSDAIP2A5UPI4SU2H7FAUSGP3OAC

Dependencies

  • [2] TVND5KQ3 Doh
  • [3] INVXGPNK Fix root creation when the root already exists but is owned by another user
  • [4] FULDVXE2 Periodically dump/log status
  • [5] PLOZBRTR Add command ‘hydra-queue-runner --status’ to show current status
  • [6] NJJ7H64S Very basic multi-threaded queue runner
  • [7] NSBNNM77 Add hydra.conf option "nar_buffer_size" to configure memoryTokens limit
  • [8] RQUAATWB Add status dump facility
  • [9] GS4BE6TB Asynchronously compress build logs
  • [10] 3ECTCHKL Make queue runner internal status available under /queue-runner-status
  • [11] OG3Z3QGC Namespace cleanup
  • [12] BG6PEOB2 Make the output size limit configurable
  • [13] HJOEIMLR Refactor
  • [14] XV4AEKJC hydra-queue-runner: Handle status queries on the main thread
  • [15] EPWEMRI2 Allow determinism checking for entire jobsets
  • [16] IGLIPGT6 Make maxLogSize configurable
  • [17] K5G5GZY7 Guard against concurrent invocations of hydra-queue-runner
  • [18] 7LWB2J2Z Periodically clear orphaned build steps
  • [19] RGCPOSHY hydra-queue-runner: Ensure regular status dumps
  • [*] 24BMQDZA Start of single-process hydra-queue-runner

Change contents

  • replacement in src/hydra-queue-runner/hydra-queue-runner.cc at line 494
    [4.3009][4.51:103]()
    void State::dumpStatus(Connection & conn, bool log)
    [4.3009]
    [4.281]
    void State::dumpStatus(Connection & conn)
  • edit in src/hydra-queue-runner/hydra-queue-runner.cc at line 675
    [4.2018][4.0:170](),[4.170][4.171:172](),[4.171][4.171:172]()
    if (log && time(0) >= lastStatusLogged + statusLogInterval) {
    printMsg(lvlInfo, format("status: %1%") % out.str());
    lastStatusLogged = time(0);
    }
  • replacement in src/hydra-queue-runner/hydra-queue-runner.cc at line 783
    [4.3821][4.173:207]()
    dumpStatus(*conn, false);
    [4.3821]
    [4.3848]
    dumpStatus(*conn);
  • replacement in src/hydra-queue-runner/hydra-queue-runner.cc at line 846
    [4.551][4.171:284]()
    conn->await_notification(statusLogInterval / 2 + 1, 0);
    dumpStatus(*conn, true);
    [4.551]
    [4.674]
    conn->await_notification();
    dumpStatus(*conn);
  • edit in src/hydra-queue-runner/state.hh at line 423
    [4.4353][4.285:318](),[4.318][2.0:39](),[2.39][4.356:357](),[4.356][4.356:357]()
    time_t lastStatusLogged = 0;
    const int statusLogInterval = 300;
  • replacement in src/hydra-queue-runner/state.hh at line 546
    [4.9059][4.9059:9109]()
    void dumpStatus(Connection & conn, bool log);
    [4.9059]
    [3.301]
    void dumpStatus(Connection & conn);