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

prisma-risk / tsoracle / 26468155964
95%

Build:
DEFAULT BRANCH: main
Ran 26 May 2026 06:52PM UTC
Jobs 1
Files 88
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

26 May 2026 06:45PM UTC coverage: 95.243%. Remained the same
26468155964

push

github

web-flow
test(kube-e2e): add SIGKILL-leader assertion (issue #485) (#505)

The existing soak only exercises a graceful `kubectl rollout restart`:
shutdown_signal() fires, the openraft driver runs transfer_leader (#423),
and the replacement boots from cleanly-checkpointed state. A SIGKILL
(pod eviction, OOM, node loss) routes through entirely different code —
no graceful shutdown, no transfer_leader, recovery-from-fsynced-state on
the replacement's restart. Recent fixes for that path (#427 barrier-seq
durable seed, #426 snapshot-publish TOCTOU) are currently covered only
by failpoint unit tests; this lane exercises them end-to-end.

New `Mode::SigkillSoak` mirrors the mixed-version-soak shape (pure
monotonicity observer, distinct first-success sentinel) with a looser
`MAX_SIGKILL_SOAK_ERROR_RATE = 5%` budget — a force-deleted leader
severs every in-flight RPC simultaneously which the client retry
cannot mask. The 5% is a placeholder to tune downward against baseline
runs, per the issue.

`run-assertions.sh` gains step 4: apply the new sigkill-soak Job, wait
for its sentinel so load is provably live before the kill, then
`kubectl exec tsoracle-0 -- tsoracle admin members` (via loopback
`127.0.0.1:51002`) to discover the current leader pod by parsing the
`raft=` field, `kubectl delete pod --grace-period=0 --force`, wait for
the StatefulSet rollout to recover, then await the Job's terminal
verdict. ListMembers is locally answerable on any node, so the
responding pod need not be the leader.

Depends on the sibling `test/kube-e2e-mixed-version-soak` branch's
Phase 4 (entrypoint.sh wiring of `--admin-listen 127.0.0.1:\${ADMIN_PORT}`
+ `ports.admin: 51002` in chart values) to actually open the admin port
inside the running pods; without that wire-up step 4 fails fast in
`find_leader_pod` with a clear timeout message.

13414 of 14084 relevant lines covered (95.24%)

392037.41 hits per line

Jobs
ID Job ID Ran Files Coverage
1 26468155964.1 26 May 2026 06:52PM UTC 88
95.24
GitHub Action Run
Source Files on build 26468155964
  • Tree
  • List 88
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #26468155964
  • 5692b5c8 on github
  • Prev Build on main (#26467450040)
  • Next Build on main (#26468333414)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc