• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

kubeflow / trainer / 36039563125
72%

Build:
DEFAULT BRANCH: master
Ran 24 Sep 2026 06:15PM UTC
Jobs 1
Files 44
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

24 Sep 2026 06:11PM UTC coverage: 69.572%. Remained the same
36039563125

push

github

web-flow
fix(cache): give workers with no data files a readiness path (#4058)

* fix(cache): give workers with no data files a readiness path

`partition_tasks` balances an Iceberg table's data files across every cache
worker, so a table with fewer data files than the cache has workers leaves the
surplus workers with an empty task group. `RecordBatchBuilder::add_task` skips
empty groups, so those workers get no row in the head's assignment table, and
`send_record_batch` routes assignments by that table's `worker_ids` column. A
worker registers its memtable only while handling a `do_put`, so an unassigned
worker never registers one, `check_table_ready` keeps failing on the missing
table and `/ready` returns 503 for the lifetime of the pod. The
LeaderWorkerSet never reports Available and the dataset initializer waits on it
forever, leaving the TrainJob stuck in its init container with no error. The
default cluster size of 3 gives one head and two workers, so a table with a
single data file is enough to hit this.

Tell every unassigned worker explicitly that it owns nothing, so it registers
an empty memtable and reports ready.

An empty group also got an inverted row range, because `end_index` was computed
as `end - 1` where `end` equals `start`, leaving `start_index` one above
`end_index`. No consumer reads that range today, since the row never reaches
the assignment table, but it is not a range a consumer could reason about.
Compute it so an empty group keeps a degenerate `start_index == end_index`.

An empty group still produces an empty batch in `DataFileTableExec::execute`,
and routing on it failed the whole partition with "No worker ID found", which
aborted the stream before any batch queued behind it could be delivered. Skip
empty batches instead.

Signed-off-by: Vidyansh <ezboi2312@gmail.com>

* fix(cache): address review comments on idle worker assignment

Look up the `worker_ids` column by name rather than position, matching
`send_record_batch`, and cor... (continued)

2762 of 3970 relevant lines covered (69.57%)

0.81 hits per line

Jobs
ID Job ID Ran Files Coverage
1 36039563125.1 24 Sep 2026 06:15PM UTC 44
69.57
GitHub Action Run
Source Files on build 36039563125
  • Tree
  • List 44
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • e2a9fbb3 on github
  • Prev Build on master (#35414450007)
  • Next Build on master (#36486345418)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc