tilt-dev / tilt-dev/tilt

Retryability for live updates on what seems to be a recoverable error

Open
#5,904 1 comment 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

bug
Dominant language
Go
Stars
10.1k
Forks
413
Avg merge
1d 10h
Merged PRs (30d)
6

Description

Expected Behavior

Live update should retry on recoverable errors, or at least be configurable to do so.

Current Behavior

Currently live update doesn't retry on the following error:

Will copy 1 file(s) to container: [<podname>/path]
- 'path/to/file.tsx' --> '/remote/path/to/file.tsx'
Build Failed: Updating pod <podname>: copying changed files: error dialing backend: EOF
LiveUpdate "name:registry.example.com_stuff_here" UpdateFailed: Updating pod <podname>: copying changed files: error dialing backend: EOF

While I'm still able to exec into the pod, get logs from it and interact with it like any other time. Might just be a hickup in my home-network that causes this, so it stings having to rebuild the image for the service whenever this happens.

Context
tilt doctor Output
-> tilt doctor
Tilt: v0.30.4, built 2022-06-16
System: linux-amd64
---
Docker
- Host: unix:///var/run/docker.sock
- Server Version: 20.10.12
- API Version: 1.41
- Builder: 2
---
Kubernetes
- Env: unknown
- Context: rpi8s
- Cluster Name: rpi8s
- Namespace: ---
- Container Runtime: containerd
- Version: v1.23.8+k3s2
- Cluster Local Registry: none

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by tracing the live-update flow that reports the "copying changed files" and "UpdateFailed" errors, using the shown error output as the entry point. Determine which failures are recoverable and how retry behavior should be configured; done means a recoverable live-update failure retries without requiring an image rebuild, with coverage for the reported EOF case.

Written by the indexing model from the issue text.

Assessment

Tech stack
go, kubernetes
Domain
devops, infrastructure
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.