Skip to content

gh-154194: Do not fail the whole sample in Tachyon if we can degrade#154195

Open
maurycy wants to merge 2 commits into
python:mainfrom
maurycy:tachyon-degrade-gracefully
Open

gh-154194: Do not fail the whole sample in Tachyon if we can degrade#154195
maurycy wants to merge 2 commits into
python:mainfrom
maurycy:tachyon-degrade-gracefully

Conversation

@maurycy

@maurycy maurycy commented Jul 19, 2026

Copy link
Copy Markdown
Contributor

As always, see #154194 for the context. Shortly: right now remote inspection fails the whole sample when it hits the limits (and we're really not sure what are the best limits) OR always when reading a part fails. This is too strict, wasteful and introduces scary bias, as observed in https://discuss.python.org/t/tachyon-97-error-rate/107619.

The PR introduces graceful degradation with the sentinels like <unreadable frame> (funcname), <unknown function> (funcname), <unknown file> (filename) and the (len=N) suffix if we hit the cap. Also, it introduces MAX_REMOTE_READ as a safety check, and attemps to better differentiate between transient failures in _Py_RemoteDebug_IsFatalReadError().

Importantly: degraded frames are never cached, while the truncated strigs are cached.

Fixes #154194

@maurycy
maurycy marked this pull request as ready for review July 19, 2026 20:17
@maurycy
maurycy requested a review from pablogsal as a code owner July 19, 2026 20:17
@maurycy

maurycy commented Jul 19, 2026

Copy link
Copy Markdown
Contributor Author

I believe that the CI failures are caused by the fact that test_async_aware_running_sees_only_cpu_task does not terminate. It worked only because a torn read caused an exception. That's what inspired #153365 in the first place.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

_remote_debugging: Degrade gracefully reads instead of failing the whole read completely

1 participant