Skip to content

test_live_full_cycle still fails — 15min timeout is not a fix, platform remains unreliable #421

Description

@VasilevNStas

Problem

test_live_full_cycle consistently fails in CI because api.zerocracy.com does not complete the submitted job within the timeout window. The timeout was already increased from 2min → 5min → 15min (PR #402?), but the problem persists — the job .finished? never returns true within the deadline.

Latest example: Rultor merge run #29038320557 was cancelled after 15 minutes.

This blocks all PRs from merging since the check is required. Every contributor hits the same wall.

Analysis

The wait_for(15 * 60) approach is a band-aid, not a fix:

  1. 15 minutes of wall-clock time per CI run is wasteful — it occupies a runner for a quarter of an hour doing nothing but polling
  2. The problem is not the client timeout — it is that the Zerocracy platform either:
    • Does not finish the job within a reasonable time, OR
    • Does not report completion back to the API
  3. No feedback loop — when the test fails, we only know "job did not finish in Ns", but not why (is the platform overloaded? is the job stuck? is the .finished? endpoint broken?)

Suggested solutions

1. Server-side (Zerocracy platform)

  • Ensure jobs submitted by test_live_full_cycle complete within ~2 minutes (the actual work is trivial — a factbase insert + export)
  • Or provide a dedicated CI/test endpoint that guarantees fast turnaround
  • Or return job completion status synchronously for test requests

2. Client-side (this repo)

  • Separate live tests from rake default — move them to a separate rake live task that runs only on schedule or on demand, not on every PR commit
  • Reduce timeout back to 2–3 minutes and accept that the test may flake when the platform is under load — document it as known flaky
  • Add metrics — record how long .finished? actually takes when it succeeds, to establish a real baseline

3. Process

  • Allow PRs to merge even if live tests fail (they test the platform, not the client code)
  • Run live tests nightly and alert on failure instead of blocking CI

Root cause

The tight coupling between client tests and the live Zerocracy platform means that any platform latency or bug directly blocks client-side development. A clear SLA or a test-specific fast path on the platform would resolve this.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions