Repository navigation
Two TimescaleSupport doc sentences #3610 falsified are corrected: the job_history evidence read lives on StoreSelfMetrics with two callers, and an unlogged store still records FAILED runs (#3581 riders) - #3619
Conversation
… job_history evidence read lives on StoreSelfMetrics and has two callers, and an unlogged store still records FAILED runs (#3581 riders, #3582/#3574) Text only, no behavior. (1) The heaviest-refresh ceiling paragraph said the one shipped read touching job_history was DarlingStoreMetricsReader.JobHistoryEvidenceSql; #3610 moved the string to StoreSelfMetrics.JobHistoryEvidenceSql (the reader's is an alias) and gave it a second caller — the hourly self-metrics sweep runs it as the owner role and persists the count as an object_kind = 'job_history' row. (2) Both slot-watch alert texts said a store without timescaledb.enable_job_execution_logging "reports nothing there until it heals"; a FAILED run is written to job_history regardless of the GUC and only successes need it, so the lines now say a result holding no successful runs is the gap, not an empty view.
There was a problem hiding this comment.
LGTM — verified this is a text-only doc/log-message correction to TimescaleSupport.cs. Checked both factual claims against the code: DarlingStoreMetricsReader.JobHistoryEvidenceSql is literally = StoreSelfMetrics.JobHistoryEvidenceSql (an alias, pinned by DarlingMcpStoreMetricsToolsTests line 651), and StoreSelfMetrics.JobHistoryInsertSql/JobHistoryObjectKind confirm the second caller (hourly sweep persisting an object_kind = 'job_history' row as the job owner role). The corrected "FAILED runs are written regardless of the GUC" claim matches documented TimescaleDB job-execution-logging behavior. TimescaleDB support is Darling-only (Postgres-specific) with no Lite counterpart, so there's no parity drift. No SQL, security, or behavior changes.
…spliced once Fifty-nine PRs merged to dev today across the coordinator's lanes and the wave-2 worker's; each lane returned its entry to a buffer instead of touching this file, so that fifty-plus PRs did not each rebase the same twenty lines. This is the one splice. Every entry is one line (the archiver's compact() and the pins read them that way); riders fold into their parent's entry (#3599 under #3590, #3619 under #3611, #3623 under #3616, #3640 under #3633; #3617 test-only and #3661 re-cut as #3666 carry none); #3657's entry is in because it MERGED to dev - the twin to main is what is still pending. [Unreleased] gains a `### Added` above `### Fixed` (Keep-a-Changelog order) for the six new capabilities: per-user theme colours (#3606 / #3577 arm B), routed alert families (#3668 / #3598), the PostgreSQL logging audit tool (#3643 / #3607), the service-side wait sampler (#3645 / #3604), and the log-event classifier with its temp-file / autovacuum parser families (#3646 / #3601, #3664 / #3602 #3603). The other forty-eight are honesty fixes to existing surfaces and append to `### Fixed` after the wave-1 bullets, in PR-number order. Thirty-six reference definitions added for the issues the new entries cite and the index did not yet define; the [Unreleased] group is one ascending run again, which moves [#3557] into its slot (the one deleted line). Nothing under ## [3.8.0] or older is touched; the archive script was not run. One editorial touch: the #3585 entry ended in a dangling "Darling" and now reads "Darling only." (the tool exists only in the Darling MCP host). tools/changelog/changelog_archive.py verify: all PASS (1420 bold entries, floor 1,329; 1,358 distinct refs resolve; CRLF throughout; 356,539 bytes under the 750 KiB ceiling). ChangelogIndexAndArchiveTests: 5/5 pass via a net10.0 harness.
…spliced once (#3672) Fifty-nine PRs merged to dev today across the coordinator's lanes and the wave-2 worker's; each lane returned its entry to a buffer instead of touching this file, so that fifty-plus PRs did not each rebase the same twenty lines. This is the one splice. Every entry is one line (the archiver's compact() and the pins read them that way); riders fold into their parent's entry (#3599 under #3590, #3619 under #3611, #3623 under #3616, #3640 under #3633; #3617 test-only and #3661 re-cut as #3666 carry none); #3657's entry is in because it MERGED to dev - the twin to main is what is still pending. [Unreleased] gains a `### Added` above `### Fixed` (Keep-a-Changelog order) for the six new capabilities: per-user theme colours (#3606 / #3577 arm B), routed alert families (#3668 / #3598), the PostgreSQL logging audit tool (#3643 / #3607), the service-side wait sampler (#3645 / #3604), and the log-event classifier with its temp-file / autovacuum parser families (#3646 / #3601, #3664 / #3602 #3603). The other forty-eight are honesty fixes to existing surfaces and append to `### Fixed` after the wave-1 bullets, in PR-number order. Thirty-six reference definitions added for the issues the new entries cite and the index did not yet define; the [Unreleased] group is one ascending run again, which moves [#3557] into its slot (the one deleted line). Nothing under ## [3.8.0] or older is touched; the archive script was not run. One editorial touch: the #3585 entry ended in a dangling "Darling" and now reads "Darling only." (the tool exists only in the Darling MCP host). tools/changelog/changelog_archive.py verify: all PASS (1420 bold entries, floor 1,329; 1,358 distinct refs resolve; CRLF throughout; 356,539 bytes under the 750 KiB ceiling). ChangelogIndexAndArchiveTests: 5/5 pass via a net10.0 harness.
Text-only follow-up to #3611 (merged 17:16Z); these two riders were granted for that PR but arrived after its auto-merge fired, so they ride a second PR off the same lane. No behavior changes; Storage builds at 0 warnings.
(1)
HeaviestHourlyRefreshObservedCeilingSeconds's doc, the job_history paragraph. It said the one shipped read touchingtimescaledb_information.job_historywasDarlingStoreMetricsReader.JobHistoryEvidenceSql. Since #3610 (#3582/#3574) that string lives onStoreSelfMetrics.JobHistoryEvidenceSql— the reader's member is an alias of it (DarlingMcpStoreMetricsToolsTestspins the equality) — and it has a second caller: the hourly self-metrics sweep runs it as the job OWNER's role and persists the count as anobject_kind = 'job_history'row, which is what makes the managed-moderecordingverdict a measurement. The sentence now names the home and both callers; the ownership-filter reasoning that follows it is unchanged.(2) The two slot-watch alert texts (
LogRefreshCeilingStalenessandLogHeaviestRefreshSlotHeadroomcarry the same sentence) said a store provisioned before the GUC's conf marker "reports nothing there until it heals". That overstates:job_historyrecords a FAILED run regardless oftimescaledb.enable_job_execution_logging; only successful runs need it. Both lines now say that with the GUC off only failed runs are written, so such a store shows the job's successes only once it heals, and a result holding no successful runs is the gap and not a quiet hour. The two pins on those lines (timescaledb_information.job_historyandenable_job_execution_loggingnamed) still hold.Also: nothing else. Rebased onto dev at
b6d60dde; touches onlyTimescaleSupport.csdoc text and two log-message strings.