Repository navigation
Test infrastructure: upload.stall resilience check stalls longer than the upload timeout - #1196
Merged
Merged
Conversation
…nger than the upload timeout The check stalls the upload for 130 s, above b2sdk's 128 s upload timeout (the simulator now accepts a stall up to 300000 ms), instead of skipping with no-client-option. CI and GITHUB_REPOSITORY are removed from the CLI's environment so its CI-only short-timeout hook never applies. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
sophiecarreras
commented
Nov 2, 2026
sophiecarreras
left a comment
Contributor
Author
There was a problem hiding this comment.
Review: .sdkharness test and changelog fragment only. STALL_MS 130000 is above b2sdk's 128 s upload timeout; CI/GITHUB_REPOSITORY are dropped from the CLI environment so the CI-only short-timeout hook cannot mask the default timeout; the Skip is removed. Proof: against the simulator at 57f44c6 the check passes in 2 min 10 s, and with TIMEOUT_FOR_UPLOAD patched to 400 it fails ('no successful b2_upload_file after the stall'). All CI checks pass. Merging normally.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
The
.sdkharnessupload.stallcheck could not run: it skipped withno-client-optionbecause b2sdk's upload read timeout is 128 s (B2Http.TIMEOUT_FOR_UPLOAD) and the simulator refused a stall over 120 s. The simulator now accepts a stall up to 300000 ms (b2-simulator#54, pinned in demand-side-ai#1686 at 57f44c6).Changes (
.sdkharness/tests/resilience-upload.py, changelog fragment only)STALL_MS), above the 128 s timeout, and asserts the CLI recovers with a successful upload afterwards.CIandGITHUB_REPOSITORYare removed from the CLI's environment so the CI-only short-timeout hook inb2/_internal/_cli/b2api.pynever applies; the check exercises the default timeouts a customer has.Proof
Run with
bin/run-resilience.sh --scenario upload.stall B2_Command_Line_Toolfrom demand-side-ai main (pin 57f44c6), this branch on master 18b37ef, b2 5.0.2:PASS, 2 min 10 s.TIMEOUT_FOR_UPLOAD = 400:FAIL (journal: no successful b2_upload_file after the stall), so the check detects a client whose timeout is longer than the stall.🤖 Generated with Claude Code