What yugabyte/yugabyte-db shipped
Written by FoxPlug from the repository's own releases; not affiliated with Yugabyte. Paste your own repository in the box below and FoxPlug writes the same weekly update for your product. This page is an automatic summary of the releases, pull requests and commits in github.com/yugabyte/yugabyte-db; Yugabyte did not write it and does not use or endorse FoxPlug. Every line links to the change it describes.
Get a weekly update like this for your product, free
Week of November 2, 2026
What shipped
- Fixed xCluster partial and expression index divergence when ALTER COLUMN TYPE reuses indexes on one side and rebuilds them on the other due to a
yb_alter_type_reuse_expr_and_partial_indexesmismatch. Pull request #37084 - Deferred an exclusive object lock release when the master cannot read the catalog versions, instead of sending the release out with empty invalidation data. Pull request #36827
- Kept a transaction alive until sub-transaction rollback heartbeats complete, covering promoted transactions still registered at both old and new status tablets. Pull request #33498
- Made legacy-mode transactions take local object locks during promotion so both modes behave consistently under the object locking infra AutoFlag. Pull request #37336
- Fixed the upsert guard to check the partition each row targets, not just the target table, including for cached plans. Pull request #37098
- Removed the currval and lastval start-value fallback for Connection Manager pooled sequence mode. Pull request #36407
- Fixed the Connection Manager debug build by correcting the format specifiers passed to
od_dbg_printfin the eject-with-timeout path. Pull request #37201 - Split the TestPgRegressTable test schedule to fix its ASAN timeout after online index builds were added to
alter_table_rewritetests. Pull request #36682 - Added support for the Idempotency-Key header on mutating v2 operations and the tasks they start, so retried requests do not start a second task. Pull request #37075
- Made pr-lint actually fail when changed managed Java files are not formatted with sbt javafmtAll. Pull request #37081
Why it matters
This week's changes focus on correctness for object locking and alter-table behavior: lock releases wait for catalog versions, legacy-mode transactions handle promotion properly, and xCluster replication no longer silently diverges on partial and expression indexes after column type changes. Several fixes also target Connection Manager behavior, the upsert guard's partition handling, and CI reliability around formatting and test timeouts.
Changelog entry
- XCluster: fix partial and expression index divergence on ALTER COLUMN TYPE when the reuse setting differs between source and target sessions. Pull request #37084
- DocDB: defer an exclusive object lock release when the catalog versions cannot be read. Pull request #36827
- DocDB: keep a transaction alive until sub-transaction rollback heartbeats complete, including promoted transactions registered at both status tablets. Pull request #33498
- YSQL: legacy-mode transactions take local object locks during promotion. Pull request #37336
- YSQL: upsert guard now checks the partition each row goes to and works with cached plans. Pull request #37098
- YSQL: remove the currval and lastval start-value fallback for Connection Manager pooled sequence mode. Pull request #36407
- YSQL: fix Connection Manager debug build by correcting
od_dbg_printfformat arguments. Pull request #37201 - DocDB: fix PgWaitQueuesMaxBatchSize1Test.ParallelUpdatesDetectDeadlock under per-shard client request ids. Pull request #37141
- YSQL: split the TestPgRegressTable test schedule to fix ASAN timeouts. Pull request #36682
- YBA: support the Idempotency-Key header on mutating v2 operations and the tasks they start. Pull request #37075
- YBA: pr-lint now fails when changed managed Java files are not formatted. Pull request #37081
- DocDB: disable load balancing in SealTxnTest.NumBatchesWithRestart to prevent leader moves during the tablet peer scan. Pull request #37204
This week: xCluster no longer silently diverges on partial/expression indexes after ALTER COLUMN TYPE, object lock releases wait when catalog versions cannot be read, and the upsert guard now checks partitions. Plus Connection Manager and CI fixes.
Changes this week in yugabyte-db: ALTER COLUMN TYPE with expression and partial index reuse no longer causes silent xCluster divergence when the reuse setting differs between sides. Exclusive object lock releases are deferred rather than sent without catalog versions, legacy-mode transactions take local object locks during promotion, and the upsert guard checks the target partition for each row. Also: heartbeat handling keeps transactions alive until sub-transaction rollback completes, the pooled sequence currval/lastval fallback is removed, Connection Manager debug builds compile again, and pr-lint now fails on unformatted managed Java.
Week of October 26, 2026
What shipped
- Pg_dist_rag now chunks Markdown files one heading section at a time, so uploads that previously passed the size limit no longer fail indexing. Pull request #36458
- A point-in-time restore to before a column drop now forgets the restored column in
deleted_cols, so compaction no longer discards its values. Pull request #35957 - Tservers now delete vector index storages left behind by a restore or database clone at startup, so DROP DATABASE no longer leaves orphaned vi-* storage. Pull request #36338
- Vector index flush failures are now reported to the callers that flush before a checkpoint or before deleting intents, instead of blocking flush waits and tablet shutdown. Pull request #36445
- Merge scan costing now charges for the k-way merge per row instead of applying a flat 1.02 multiplier to the plain index scan cost. Pull request #35962
- XCluster setup no longer fails schema validation when an indexed column was renamed on the source before replication was configured. Pull request #35765
- A YSQL planner regression test no longer flakes because of random colocation IDs in the colocated test database. Pull request #36495
- Yugabyted-ui now builds against Go 1.26.10, echo 4.16.1 and x/net 0.60.0, clearing Go stdlib and http2 CVEs flagged by the release scan. Pull request #36308
- YBA bumped Netty, Jackson, lz4-java, PyJWT and Go dependencies flagged Critical or High by the release scan of the yugaware image. Pull request #36307
- A PG15 to PG19 upgrade now accepts ysql_yb_major_version_upgrade_compatibility=15, so the upgrade can start. Pull request #35888
Why it matters
This week closes several data-safety gaps around restores and vector indexes: restored or dropped column values, orphaned index storage and vector index flush failures are now handled instead of silently lost or stuck. It also clears critical dependency CVEs in yugabyted-ui and YBA, and unblocks the PG15 to PG19 upgrade path.
Changelog entry
- Pg_dist_rag: chunk Markdown files one heading section at a time so accepted uploads no longer fail indexing. Pull request #36458
- DocDB: forget deleted columns a PITR restore brings back, so compaction no longer discards their values. Pull request #35957
- DocDB: delete unlisted vector index storages at tserver startup, including those left by DROP DATABASE. Pull request #36338
- DocDB: report vector index flush failures to flush and checkpoint callers and stop blocking flush waits and shutdown. Pull request #36445
- YSQL: cost the merge scan's k-way merge per row instead of a 1.02 multiplier. Pull request #35962
- XCluster: ignore YSQL index column names in setup schema validation when a column was renamed on the source. Pull request #35765
- YSQL: fix TestPgRegressPlannerEstimates flakiness from random colocation IDs. Pull request #36495
- Yugabyted: upgrade Go to 1.26.10, echo to 4.16.1 and x/net to 0.60.0 to clear flagged CVEs. Pull request #36308
- YBA: upgrade Netty, Jackson, lz4-java, PyJWT and Go dependencies flagged by the release scan. Pull request #36307
- YSQL: accept ysql_yb_major_version_upgrade_compatibility=15 so a PG15 to PG19 upgrade can start. Pull request #35888
- DocDB: flush vector indexes before taking a tablet snapshot in 2026.1. Pull request #36351
- DocDB: revert requiring TLS when RPC client certificates are required. Pull request #36419
This week: restores no longer lose values from columns brought back or leave orphaned vector index storage, vector index flush failures now surface instead of hanging. Merge scan costing fixed, xCluster schema check tolerates renamed indexed columns, and Go and Java dependency CV
This week in yugabyte-db: point-in-time restores now forget columns they bring back, so compaction stops discarding their values, and tservers clean up vector index storage that restores and database clones leave behind. Vector index flush failures now reach the callers that flush before checkpoints or intent deletes instead of blocking tablet shutdown. Also in: merge scan costing charges per row for the k-way merge, xCluster schema validation tolerates renamed indexed columns, and dependency upgrades clear critical CVEs in yugabyted-ui and YBA.
Week of October 19, 2026
What shipped
- Fixed DISTINCT returning duplicate rows when the batched nested loop join is used. Pull request #35566
- VALIDATE CONSTRAINT on a foreign key no longer waits on a concurrent transaction that deletes a parent row, matching PostgreSQL behavior. Pull request #35179
- A YSQL migration that fails with a serialization failure, such as a read restart or a conflict with concurrent DDL, is now retried instead of failing the upgrade. Pull request #35751
- Yb-master now defaults
quick_leader_election_on_createto true, so a newly created RF3 universe no longer waits a full election timeout for its first master leader. Pull request #34810 - The YSQL lease poller now requests its first lease immediately instead of waiting one refresh interval, so PostgreSQL can start sooner. Pull request #34811
- Replica placement candidates are now built once per table instead of once per tablet, removing repeated validation and tserver list rebuilding for every tablet. Pull request #35162
- The per-table replica load order is now maintained incrementally instead of re-sorting the whole tserver list after every pick. Pull request #35161
- Yugabyted now sets glibc.pthread.rseq for the yb-master and yb-tserver processes it starts, avoiding a silent fallback that slows caches on hosts with glibc 2.35 or later, including RHEL 9 and Ubuntu 22.04. Pull request #34555
- Fixed a ClassCastException that made the testYbQpmSimpleClockLru and testYbQpmTrueLru stress tests fail every run. Pull request #34502
- CheckUpgrade now applies the tserver AutoFlag check the same way as the master check, so an upgrade is no longer rejected because of a promoted flag missing from the target version check. Pull request #35650
Why it matters
This week brings several fixes that affect everyday use: DISTINCT no longer returns duplicates under batched nested loop joins, FK VALIDATE no longer waits on concurrent deletes the way PostgreSQL does not, and first-term master election plus an immediate first lease request shorten cluster creation. YBA also gains a v2 login API and fixes around rollback of failed tasks and K8s edits.
Changelog entry
- YSQL: Fixed DISTINCT returning duplicates under batched nested loop join. Pull request #35566
- YSQL: FK VALIDATE no longer waits on concurrent deletes, matching PostgreSQL. Pull request #35179
- YSQL: Retry a migration that fails with a serialization failure during finalize upgrade. Pull request #35751
- DocDB: Enabled quick leader election on master create by default. Pull request #34810
- DocDB: The YSQL lease poller now requests the first lease immediately. Pull request #34811
- DocDB: Build replica placement candidates once per table instead of per tablet. Pull request #35162
- DocDB: Keep the per-table replica load order incrementally instead of re-sorting on every pick. Pull request #35161
- Yugabyted: Set glibc.pthread.rseq for the yb-master and yb-tserver it starts. Pull request #34555
- YBA: Fixed the tserver AutoFlag check in CheckUpgrade. Pull request #35650
- YBA: Surface the Azure VM creation error in
create_root_volumes. Pull request #35483 - YBA: Added a v2 API to log in. Pull request #35423
- Docs: Documented Connection Manager disconnecting sessions of a dropped role. Pull request #35711
This week: DISTINCT no longer returns duplicates under batched nested loop joins, FK VALIDATE stops waiting on concurrent deletes, YSQL migrations retry on serialization failure, and new universes get their first master leader faster. YBA adds a v2 login API.
This week in the repository: DISTINCT no longer returns duplicates under batched nested loop joins, VALIDATE CONSTRAINT on a foreign key no longer waits on concurrent deletes, and YSQL migrations retry on serialization failure instead of failing the upgrade. Cluster creation is faster, with quick master leader election now on by default and the first YSQL lease requested immediately. Replica placement candidates are built once per table, yugabyted sets glibc.pthread.rseq for the servers it starts, and YBA adds a v2 login API plus fixes for rollback of failed K8s edits.
Week of October 12, 2026
What shipped
- The master now accepts a restarted full tablet report instead of treating it as incomplete when only some pages were seen. Pull request #34942
- Pg_cron leader failover is fixed: a new leader waits out the previous lease, and in-flight jobs are handled correctly on an ungraceful leader change. Pull request #34689
- In-flight
pg_cronjobs are allowed to finish when the cron leader steps down gracefully instead of being canceled and marked failed. Pull request #34690 - Colocated tablet disk size is exposed through
tablet_attrs, and a new yb_tablegroup_size() function returns the size of a tablegroup's colocation parent tablet. Pull request #33108 - Pg_stat_replication no longer blocks on a missing
cdc_statetable on universes that have never used CDC or xCluster. Pull request #34798 - Yb-admin help now lists operations instead of printing raw gflags output, and remote-error framing is fixed. Pull request #33470
- The ASH circular buffer is no longer zeroed in fresh shared memory, removing startup faults on large hosts. Pull request #34784
- A retained split parent is kept when a hidden vector index is removed from tablets, preventing a master leader crash after PITR to before a DROP INDEX. Pull request #35086
- Restored vector index chunk OpIds are reset to the restore op id, covering xCluster DR targets set up from a backup and database clones. Pull request #35031
- The non-block-based vector index backends are removed in a 2026.1 backport, leaving the block-based
yb_hnswbackends. Pull request #35223
Why it matters
This week's changes focus on stability around leader changes and restarts: pg_cron failover, split child retryable requests, tablet report handling, and vector index restores all got fixes. Users also get a working yb-admin help listing, a way to read colocated tablegroup sizes, and faster cluster startup through less work on fresh shared memory.
Changelog entry
- YSQL: fix
pg_cronleader failover so a new leader waits out the old lease and the old leader's jobs are handled correctly. Pull request #34689 - YSQL: let in-flight
pg_cronjobs finish when the cron leader steps down gracefully. Pull request #34690 - DocDB: accept a restarted full tablet report on the master. Pull request #34942
- YSQL: expose colocated tablet disk size via
tablet_attrsand add yb_tablegroup_size(). Pull request #33108 - YSQL:
pg_stat_replicationno longer blocks on a missingcdc_statetable. Pull request #34798 - DocDB: make yb-admin help progressive and fix remote-error framing. Pull request #33470
- YSQL: do not zero the ASH circular buffer in fresh shared memory. Pull request #34784
- DocDB: reset restored vector index chunk OpIds to the restore op id. Pull request #35031
- DocDB: keep the retained split parent when removing a hidden vector index from tablets. Pull request #35086
- DocDB: remove non-block-based vector index backends (2026.1 backport). Pull request #35223
- DocDB: fix explicit row locking test by not copying the original conflict status onto an aborted sibling op. Pull request #35245
- Build: write the resolved YB_THIRDPARTY_DIR back to the CMake cache. Pull request #33439
Weekly update: pg_cron leader failover fixes, in-flight cron jobs allowed to finish on graceful stepdown, master accepts restarted full tablet reports, yb-admin help lists operations, and yb_tablegroup_size() reports colocated tablegroup size.
This week in yugabyte-db: pg_cron leader failover is fixed so a new leader waits out the old lease, and in-flight jobs can finish when the leader steps down gracefully. The master now accepts a restarted full tablet report on leader change. yb-admin help lists operations instead of dumping gflags. A new yb_tablegroup_size() function reports the size of a tablegroup's colocation parent tablet. Vector index restore and hidden-index removal fixes cover xCluster DR and PITR cases, and the ASH buffer is no longer zeroed in fresh shared memory.
Week of October 5, 2026
What shipped
- Yb-master now defaults
quick_leader_electionon, so an RF3 universe gets its first master leader without waiting a full election timeout on create or restart. Pull request #34783 - The tserver runs its local initdb while it waits for the master, instead of only after TabletServer::Init, shortening cluster startup. Pull request #34785
- The YSQL lease poller requests its first lease immediately rather than waiting a full
ysql_lease_refresher_interval_ms. Pull request #34787 - Local initdb on the tserver skips config probes and the postgres version check, cutting the number of postgres starts per node first start. Pull request #34786
- ExternalMiniCluster shuts down its tablet servers in parallel instead of one after another, so tests no longer spend as long stopping as starting. Pull request #34791
- DocDB allocates retryable request ids from sharded lock free allocators instead of one spinlock and std::set on the client. Pull request #34297
- DocDB replaces strings::Substitute and StringPrintf with Format() in src/yb and removes strings::Substitute. Pull request #34804
- YSQL returns free memory to the OS after connection startup, where TCMalloc previously kept freed catalog preload pages in its page heap. Pull request #34712
- Heartbeat locking pattern changed, with a follow-up fix for a deadlock between heartbeats and create colocated tables or vector index. Pull request #34674
- Last_autoanalyze and
autoanalyze_countare exposed inpg_stat_user_tables, classifying YB Auto Analyze backends as automatic ANALYZE processes. Pull request #33998
Why it matters
This week cuts cluster startup latency across the board: quicker master leader election, initdb overlapping the wait for the master, an immediate first YSQL lease, and fewer postgres starts per node. It also trims client-side and tserver-side overhead, undoes a heartbeat deadlock, returns freed preload memory to the OS, and exposes standard PostgreSQL auto analyze columns so monitoring works with familiar views.
Changelog entry
- Allocate retryable request ids from sharded lock free allocators. Pull request #34297
- Change heartbeat locking and fix a deadlock with create colocated tables and vector index. Pull request #34674
- Replace strings::Substitute and StringPrintf with Format() in src/yb. Pull request #34804
- Skip config probes and the postgres version check in local initdb. Pull request #34786
- Run the tserver's local initdb while it waits for the master. Pull request #34785
- Enable quick sys catalog leader election on master create and restart by default. Pull request #34783
- Request the first YSQL lease immediately. Pull request #34787
- Shut down ExternalMiniCluster tablet servers in parallel. Pull request #34791
- Expose
last_autoanalyzeandautoanalyze_countinpg_stat_user_tables. Pull request #33998 - Return free memory to the OS after connection startup. Pull request #34712
- Deflake RemoteBootstrapITest.TestRBSWithLazySuperblockFlush. Pull request #33575
- Do not trigger Jenkins builds for Markdown-only changes. Pull request #34773
Cluster startup gets faster this week: quick master leader election, tserver initdb overlapping the wait for master, an immediate first YSQL lease, and fewer postgres starts per node. Plus fewer postgres starts, heartbeats deadlock fix, and last_autoanalyze in pg_stat_user_tables
This week's changes focus on how fast a cluster and its connections come up. yb-master now defaults quick_leader_election on, so an RF3 universe does not wait a full election timeout for its first master leader on create or restart. The tserver runs its local initdb while waiting for the master rather than after TabletServer::Init, skips config probes and the postgres version check during local initdb, and requests its first YSQL lease immediately instead of waiting a full refresh interval. Tests shut down ExternalMiniCluster tablet servers in parallel. Elsewhere: retryable request ids come from sharded lock free allocators, strings::Substitute and StringPrintf are replaced by Format() in src/yb, free memory is returned to the OS after connection startup, a heartbeat deadlock with colocate
Week of September 28, 2026
What shipped
- Cache statistics updates now happen outside mutex locks in docdb, reducing contention since the values are already atomic. Pull request #34465
- RocksDB cache metrics were simplified to reduce redundancy across per-rocksdb statistics and lookup path counters. Pull request #34462
- Catalog preload batch size limits now apply per-RPC instead of per-operation, fixing prefetch budget distribution across tables. Pull request #34357
- Catalog cache preload now frees scanned rows after copying them, reducing memory overhead during initial connections. Pull request #34365
- Relcache preload scratch space is freed per row instead of after all relations build, lowering peak memory usage. Pull request #34396
- Google benchmark microbenchmarks support was added via ADD_YB_BENCHMARK to build C++ performance tests. Pull request #34536
- SST statistics including garbage and droppable-age data are now exported as Prometheus gauges for operational monitoring. Pull request #34014
- Write fence checks now judge against an operation's assigned hybrid time instead of a different reference point. Pull request #34382
- Yugabyted now displays yb-admin stdout when admin operations fail, making error messages visible to users. Pull request #34241
- Documentation explains the default concurrent mode behavior for CREATE INDEX. Pull request #34509
Why it matters
This week's changes focus on reducing memory overhead in catalog operations and improving observability for cache and SST behavior. Memory improvements to catalog preload and relcache building will reduce connection latency and peak memory on first connections after DDL. New cache metrics and SST statistics exports enable operators to build dashboards and understand compaction thresholds.
Changelog entry
- Docdb: Cache statistics updates now occur outside of mutex lock Pull request #34465
- Docdb: Simplified rocksdb cache metrics to reduce redundancy Pull request #34462
- YSQL: Prefetch batch bytes limit now applies per-RPC instead of per-operation Pull request #34357
- YSQL: Free scanned rows during catalog cache preload Pull request #34365
- YSQL: Free relcache preload scratch memory per row Pull request #34396
- Build: Added google/benchmark microbenchmark support with ADD_YB_BENCHMARK Pull request #34536
- DocDB: Export SST statistics as Prometheus gauges Pull request #34014
- DocDB: Judge write fence against operation's assigned hybrid time Pull request #34382
- Yugabyted: Show yb-admin stdout when admin operations fail Pull request #34241
- YSQL: Fixed leaked file descriptor on truncated qpm.stat read Pull request #34425
- YSQL: Honor
client_connection_check_intervalduring InitPostgres preload Pull request #34352 - Docs: Clarified CREATE INDEX default concurrent mode behavior Pull request #34509
Catalog preload now frees memory per row instead of batching, and cache metrics update outside locks. SST statistics export to Prometheus for monitoring.
This week we reduced catalog preload memory overhead by freeing scanned rows immediately rather than batching deletions, lowering peak memory during first connections after DDL. Cache statistics now update outside mutex locks to reduce contention. We also added Prometheus exports for SST garbage statistics, enabling operators to build dashboards and study compaction thresholds.
Week of September 21, 2026
What shipped
- YSQL catalog cache preloading now uses a 10 MiB aggregate response budget instead of 1,024-row page limits, reducing serial master round trips after DDL on large catalogs in multi-region clusters. Pull request #34178
- DocDB now supports an optional
max_num_replicasconstraint on placement blocks for cluster, table, and tablespace policies to control replica distribution. Pull request #32828 - DocDB thin client now supports UINT32 columns, enabling it to open tables keyed by oids. Pull request #34152
- LongOperationTracker lock contention reduced by replacing a single process-wide mutex with per-entry locking. Pull request #33273
- DocDB now reports per-drive write throughput alongside fsync latency metrics for better device performance interpretation. Pull request #34082
- YSQL fixed a NULL crash in row comparison binds when comparing rows with NULL varlena columns. Release
- DocDB thin client stack trace collection now uses libunwind to prevent deadlocks during creation on certain allocators. Pull request #34198
- YSQL webserver test isolation on macOS fixed by reordering pkill options to prevent unrelated process kills during parallel test runs. Pull request #33588
- YBA now allows skipping storage configuration validation via runtime config for backup storage that the YBA host cannot directly reach. Pull request #34081
- Build system now reruns new tests on integration lanes to catch flakiness introduced at commit time. Pull request #34029
Why it matters
This week ships improvements to query performance and reliability: catalog preloading is faster on large clusters, placement constraints provide better control over replica distribution, and thin client support for more column types enables new use cases. Several fixes address crashes, deadlocks, and test isolation issues that improve stability.
Changelog entry
- YSQL: Fixed PgSchemaVersionMismatchBackfillTest.BackfillSurfaceAsSerializationFailure Release
- YSQL: Fixed NULL crash in row comparison binds with varlena key columns Release
- YSQL: Fixed TestWebserverKill killing unrelated processes on macOS Pull request #33588
- YSQL: Batch catalog preload requests by 10 MiB byte limits instead of 1,024-row limits Pull request #34178
- DocDB: Added UINT32 column support to
yb_thin_clientfor oid-keyed tables Pull request #34159 - DocDB: Colocated tombstone cache now persists across schema GC and backfill Pull request #34153
- DocDB: Non-ASCII bytes now properly escaped in Slice::ToDebugString regardless of locale Pull request #33568
- DocDB: Thin client stack traces now collected through libunwind to prevent deadlocks Pull request #34198
- YSQL: Fixed PgSchemaVersionMismatchBackfillTest.BackfillSurfacesAsSerializationFailure under TSAN Pull request #34206
- DocDB: Raft catch-up unstuck by advancing
last_received_current_leaderon fully-deduplicated requests Pull request #34085 - DocDB: Sort indicator now visible on table headers in web UI Pull request #34129
- DocDB: Per-drive write throughput and fsync latency metrics added Pull request #34082
- DocDB: Placement blocks now support optional
max_num_replicasconstraint Pull request #32828 - DocDB: LongOperationTracker lock contention reduced with per-entry locking Pull request #33273
- Build: macOS builds migrated from macOS 14 to macOS 15 Pull request #34053
New in yugabyte-db: faster DDL on large catalogs with adaptive response budgets, placement block replica limits, thin client UINT32 support, reduced lock contention in operation tracking, and per-drive fsync metrics.
This week's yugabyte-db updates focus on performance and reliability improvements. Catalog preloading now adapts to response size budgets instead of fixed row limits, reducing latency after DDL on large clusters. New placement block constraints give operators fine-grained control over replica distribution. The thin client gains support for UINT32 columns to open tables keyed by oids. Lock contention improvements reduce blocking in operation tracking. Per-drive write throughput metrics alongside fsync latency provide clearer device performance visibility.
Week of September 14, 2026
What shipped
- Distributed trace context now propagates across RPC boundaries, with the request header carrying an optional trace-context field that flows from caller to callee. Pull request #33112
- The
dist_tracelibrary was reworked into a span-and-scope API with entry points for starting traces and re-establishing parent context. Pull request #33116 - Trace context now carries across thread boundaries so work handed to worker, reactor, scheduler, or Raft apply threads continues the originating trace. Pull request #33114
- Trace context propagates over the PG-tserver shared memory exchange so requests bypassing the RPC stack still join the caller's trace. Pull request #33113
- The traceparent header now propagates to PG backends via the startup packet so backend initialization and statements root under the originating trace. Pull request #33115
- Per-tablet in-memory aggregation was added for SST statistics to answer questions across multiple SSTfiles rather than single-file records. Pull request #33887
- Index backfill failures now report with PostgreSQL SQLSTATE codes instead of the generic XX000 error code. Pull request #33748
- CheckpointMultipleDatabases in xCluster replication was capped at 64 databases to prevent excessive concurrent DDL operations. Pull request #33933
- Python 3.14 was added to the supported interpreter versions for YBA with updated dependency pins. Pull request #33993
- YBA now fails fast with a clear error when the master leader is missing instead of silently dereferencing null values. Pull request #33840
Why it matters
Distributed tracing infrastructure across RPC boundaries and thread hops enables operators to track requests through the entire system. Improvements to error reporting, resource limits, and safety checks make the database more reliable and easier to debug.
Changelog entry
- Distributed trace context now propagates across RPC boundaries Pull request #33112
- Reworked
dist_tracelibrary into span-and-scope API Pull request #33116 - Trace context carries across thread boundaries Pull request #33114
- Trace context propagates over PG-tserver shared memory exchange Pull request #33113
- Traceparent propagates to PG backends via startup packet Pull request #33115
- Per-tablet in-memory aggregation for SST statistics Pull request #33887
- Index backfill failures report with PostgreSQL SQLSTATE codes Pull request #33748
- CheckpointMultipleDatabases capped at 64 databases in xCluster Pull request #33933
- Python 3.14 added to YBA supported versions Pull request #33993
- YBA fails fast with clear error when master leader is missing Pull request #33840
Distributed tracing now flows across RPC boundaries, thread hops, and shared memory exchanges. Better error codes and safety checks improve debugging and prevent silent failures.
This week's work strengthens distributed tracing throughout YugabyteDB. Trace context now propagates across RPC boundaries, thread boundaries, and the PG-tserver shared memory path—enabling operators to follow requests through the entire system. We also improved error reporting with proper PostgreSQL error codes, added resource limits for xCluster operations, and added safety checks to fail fast when critical components are missing.