Skip to content

Commit 7121193

Browse files
committed
vendor: Update vendored sources to duckdb/duckdb@d130a01
Date: 2026-09-08 10:53:21 +0000 Track I/O operation counts alongside byte counters (https://redirect.github.com/duckdb/duckdb/pull/25409) R-side fix: Nothing in the tree — one finding with no repair to carry, recorded here because nothing else keeps it. r-universe read `duckdb.dev` 1.5.99.9003.1397 at 1f4b6d7 (`main-green`), on duckdb.r-universe.dev, and one of the fifteen targets failed. `macos-oldrel-x86_64` timed out after 3794 s: `##[error]The action has timed out.` at 3612765 ms of the one-hour budget, with `duckdb/ub_src_parser_peg_transformer.cpp` still compiling (<https://duckdb.r-universe.dev/api/actions/logs/102024688950>). Not a new target and not a new cause: this is the `MAKEFLAGS` timeout recorded on 16fb13c for the same target, and on 59cb20f for `macos-release-x86_64`. The log names it outright again: + makeflags_value='Fatal error: cannot open file '\''scripts/setup-makeflags.R'\'': No such file or directory' + export 'MAKEFLAGS=Fatal error: cannot open file ...' `configure` fills `MAKEFLAGS` in from `scripts/setup-makeflags.R`, `.Rbuildignore` lists `^scripts$`, so `R CMD build` strips the directory and no package installed from a tarball can read it; `MAKEFLAGS` is exported as the error string rather than as `-jN` and every source install from the built tarball compiles serially. Which targets fall over is boundary noise; the cause is constant. duckdb#2678 moves the helper to `tools/`, which `R CMD build` keeps, and refuses a value that is not `-jN`. It has been open as a draft since 2026-08-27 and every firing since has paid for it; the series gets it when stage 4 ports it, never before. This exact read was already posted as evidence on that PR by the firing four hours earlier (duckdb#2678, comment of 2026-09-08 11:49 UTC), so this firing added no second comment — only this record, which that firing had no `-dev` commit to write. The consequence is a stale published binary, not a broken one: `mac-x86_64` still serves 1.5.99.9003.1396, built 2026-09-07. The `rcc` gate is Linux on one R version and compiles that target on no run, so no `each-rcc` record says anything either way. `windows-devel-arm64`, recorded on 59cb20f as the runner's rather than the tree's, is OK again on this build — one occurrence, not a pattern.
1 parent c2503e9 commit 7121193

8 files changed

Lines changed: 43 additions & 6 deletions

File tree

DESCRIPTION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
Package: duckdb.dev
22
Title: DBI Package for the DuckDB Database Management System
3-
Version: 1.5.99.9003.1398
3+
Version: 1.5.99.9003.1399
44
Authors@R: c(
55
person("Hannes", "Mühleisen", , "hannes@cwi.nl", role = "aut",
66
comment = c(ORCID = "0000-0001-8552-0029")),

R/version.R

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# Generated by rconfigure.py, do not edit by hand
22
# DuckDB version information
33

4-
duckdb_version <- "2.1.0-dev83997"
4+
duckdb_version <- "2.1.0-dev83999"
55

66
# Function to get DuckDB version without establishing a connection
77
get_duckdb_version <- function() {

src/duckdb/src/function/table/version/pragma_version.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
#ifndef DUCKDB_PATCH_VERSION
2-
#define DUCKDB_PATCH_VERSION "0-dev83997"
2+
#define DUCKDB_PATCH_VERSION "0-dev83999"
33
#endif
44
#ifndef DUCKDB_MINOR_VERSION
55
#define DUCKDB_MINOR_VERSION 1
@@ -8,10 +8,10 @@
88
#define DUCKDB_MAJOR_VERSION 2
99
#endif
1010
#ifndef DUCKDB_VERSION
11-
#define DUCKDB_VERSION "v2.1.0-dev83997"
11+
#define DUCKDB_VERSION "v2.1.0-dev83999"
1212
#endif
1313
#ifndef DUCKDB_SOURCE_ID
14-
#define DUCKDB_SOURCE_ID "56b103b7f7"
14+
#define DUCKDB_SOURCE_ID "d130a01ebc"
1515
#endif
1616
#include "duckdb/function/table/system_functions.hpp"
1717
#include "duckdb/main/database.hpp"

src/duckdb/src/include/duckdb/main/profiler/metrics.hpp

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -124,6 +124,20 @@ struct MetricIOTotalBytesWritten {
124124
static constexpr const char *Unit = "bytes";
125125
static constexpr const char *TypeStr = "uint64";
126126
};
127+
struct MetricIOTotalReadOperations {
128+
using METRIC_TYPE = uint64_t;
129+
static constexpr const char *Name = "io.total_read_operations";
130+
static constexpr const char *Description = "The total number of read operations issued to storage";
131+
static constexpr const char *Unit = "operations";
132+
static constexpr const char *TypeStr = "uint64";
133+
};
134+
struct MetricIOTotalWriteOperations {
135+
using METRIC_TYPE = uint64_t;
136+
static constexpr const char *Name = "io.total_write_operations";
137+
static constexpr const char *Description = "The total number of write operations issued to storage";
138+
static constexpr const char *Unit = "operations";
139+
static constexpr const char *TypeStr = "uint64";
140+
};
127141

128142
// Storage metrics
129143
struct MetricStorageAttachLoadStorageLatency {

src/duckdb/src/include/duckdb/main/profiler/profiling_utils.hpp

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,9 @@ struct QueryMetrics {
3838

3939
// Always-tracked byte counters (used by progress bar even when profiling is disabled)
4040
atomic<idx_t> bytes_read;
41+
atomic<idx_t> read_operations;
4142
atomic<idx_t> bytes_written;
43+
atomic<idx_t> write_operations;
4244
// Thread-safe memory allocation counter (updated from allocator callbacks on any thread)
4345
atomic<idx_t> total_memory_allocated;
4446

@@ -53,10 +55,12 @@ struct QueryMetrics {
5355

5456
void UpdateBytesRead(idx_t n) {
5557
bytes_read += n;
58+
read_operations++;
5659
}
5760

5861
void UpdateBytesWritten(idx_t n) {
5962
bytes_written += n;
63+
write_operations++;
6064
}
6165

6266
void UpdateTotalMemoryAllocated(idx_t n) {
@@ -83,10 +87,18 @@ struct QueryMetrics {
8387
return bytes_read.load();
8488
}
8589

90+
idx_t GetReadOperations() const {
91+
return read_operations.load();
92+
}
93+
8694
idx_t GetBytesWritten() const {
8795
return bytes_written.load();
8896
}
8997

98+
idx_t GetWriteOperations() const {
99+
return write_operations.load();
100+
}
101+
90102
idx_t GetTotalMemoryAllocated() const {
91103
return total_memory_allocated.load();
92104
}
@@ -104,7 +116,9 @@ struct QueryMetrics {
104116
string_timings.clear();
105117
string_counters.clear();
106118
bytes_read = 0;
119+
read_operations = 0;
107120
bytes_written = 0;
121+
write_operations = 0;
108122
total_memory_allocated = 0;
109123

110124
query_sql = "";
@@ -125,7 +139,9 @@ struct QueryMetrics {
125139
string_counters[entry.first] += entry.second;
126140
}
127141
bytes_read += other.bytes_read.load();
142+
read_operations += other.read_operations.load();
128143
bytes_written += other.bytes_written.load();
144+
write_operations += other.write_operations.load();
129145
total_memory_allocated += other.total_memory_allocated.load();
130146
}
131147

src/duckdb/src/main/profiler/metrics_manager.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,8 @@ static const MetricDescriptor internal_metrics[] = {
4141
DUCKDB_METRIC(MetricSystemTotalMemoryAllocated),
4242
DUCKDB_METRIC(MetricIOTotalBytesRead),
4343
DUCKDB_METRIC(MetricIOTotalBytesWritten),
44+
DUCKDB_METRIC(MetricIOTotalReadOperations),
45+
DUCKDB_METRIC(MetricIOTotalWriteOperations),
4446
DUCKDB_METRIC(MetricStorageAttachLoadStorageLatency),
4547
DUCKDB_METRIC(MetricStorageAttachReplayWALLatency),
4648
DUCKDB_METRIC(MetricStorageCheckpointLatency),

src/duckdb/src/main/profiler/profiling_utils.cpp

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,15 +12,18 @@ void QueryMetrics::FinalizeMetrics(GatheredMetrics &info) {
1212
info.SetMetric(key, count);
1313
}
1414
info.SetMetric<MetricIOTotalBytesRead>(GetBytesRead());
15+
info.SetMetric<MetricIOTotalReadOperations>(GetReadOperations());
1516
info.SetMetric<MetricIOTotalBytesWritten>(GetBytesWritten());
17+
info.SetMetric<MetricIOTotalWriteOperations>(GetWriteOperations());
1618
info.SetMetric<MetricSystemBlockedThreadTime>(blocked_thread_time);
1719
info.SetMetric<MetricSystemPeakBufferMemory>(system_peak_buffer_memory);
1820
info.SetMetric<MetricSystemPeakStreamingBufferSize>(system_peak_streaming_buffer_size);
1921
info.SetMetric<MetricSystemPeakTempDirSize>(system_peak_temp_dir_size);
2022
info.SetMetric<MetricSystemTotalMemoryAllocated>(GetTotalMemoryAllocated());
2123
}
2224

23-
QueryMetrics::QueryMetrics() : bytes_read(0), bytes_written(0), total_memory_allocated(0) {
25+
QueryMetrics::QueryMetrics()
26+
: bytes_read(0), read_operations(0), bytes_written(0), write_operations(0), total_memory_allocated(0) {
2427
Reset();
2528
}
2629

src/duckdb/src/main/query_profiler.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -939,7 +939,9 @@ unique_ptr<QueryProfileResult> QueryProfiler::ToLegacyResultTree() const {
939939

940940
emit("total_memory_allocated", "system.total_memory_allocated");
941941
emit("total_bytes_written", "io.total_bytes_written");
942+
emit("total_write_operations", "io.total_write_operations");
942943
emit("total_bytes_read", "io.total_bytes_read");
944+
emit("total_read_operations", "io.total_read_operations");
943945
emit("system_peak_temp_dir_size", "system.peak_temp_dir_size");
944946
emit("system_peak_buffer_memory", "system.peak_buffer_memory");
945947
emit("system_peak_streaming_buffer_size", "system.peak_streaming_buffer_size");

0 commit comments

Comments
 (0)