clean-glass-36808
09/04/2026, 7:33 PMplugin "armada" failed with system error 4 times: failed to read data from dataDir [s3://<redacted>/flytesnacks/development/r2bwqqbc2tr2mmcxmw55/a0/1/outputs.pb]. Error: path:s3://<redacted>/flytesnacks/development/r2bwqqbc2tr2mmcxmw55/a0/1/outputs.pb: not found
import asyncio
import flyte
import flyte.errors
env = flyte.TaskEnvironment(name="fail", resources=flyte.Resources(cpu=1, memory="250Mi"))
@env.task
async def oomer():
large_list = [0] * 100000000
print(len(large_list))
@env.task
async def always_succeeds() -> int:
await asyncio.sleep(1)
return 42
@env.task
async def parent() -> int:
try:
await oomer()
except flyte.errors.OOMError as e:
print(f"Failed with oom trying with more resources: {e}, of type {type(e)}, {e.code}")
try:
await oomer.override(resources=flyte.Resources(cpu=1, memory="1Gi"))()
except flyte.errors.OOMError as e:
print(f"Failed with OOM Again giving up: {e}, of type {type(e)}, {e.code}")
raise e
finally:
await always_succeeds()
I expect that it would upload the results of always_succeed?clean-glass-36808
09/04/2026, 7:35 PMbroad-monitor-993
09/04/2026, 7:36 PMclean-glass-36808
09/04/2026, 7:37 PMbroad-monitor-993
09/04/2026, 7:38 PMclean-glass-36808
09/04/2026, 7:40 PMfunc (p Executor) Handle(ctx context.Context, tCtx core.TaskExecutionContext) (core.Transition, error) {
state, err := p.getOrCreateJob(ctx, tCtx)
// Return if there was an error
if err != nil {
return core.UnknownTransition, err
}
// If no error, then infer the new CurrentPhase from the various states
phaseInfo := mapExecutionStateToPhaseInfo(state, p.cfg, p.clock)
// Ensure the output reader is set. This is similar to what the k8s pod plugin management does
if phaseInfo.Phase() == core.PhaseSuccess {
opReader := ioutils.NewRemoteFileOutputReader(ctx, tCtx.DataStore(), tCtx.OutputWriter(), 0)
putErr := tCtx.OutputWriter().Put(ctx, opReader)
if putErr != nil {
return core.UnknownTransition, putErr
}
}
return core.DoTransition(phaseInfo), nil
}
In this case the phase info is success (the parent task armada jobs exits with code 0 / success) and it should be configuring this correctly.broad-monitor-993
09/04/2026, 7:46 PMclean-glass-36808
09/04/2026, 7:46 PMclean-glass-36808
09/04/2026, 9:56 PMclean-glass-36808
09/04/2026, 9:56 PMclean-glass-36808
09/04/2026, 9:58 PMoomer taskclean-glass-36808
09/04/2026, 9:58 PMplugin "armada" failed with system error 4 times: [DownstreamSystemError] Job failed: Container rvrkh7xv2xf9mn9vjw5d-bw1ahcymyhx2hvedgon5dpe9v-0 failed with exit code 137 because OOMKilled: [flyte] WARNING Flyte runtime started for action bw1ahcymyhx2hvedgon5dpe9v with run name rvrkh7xv2xf9mn9vjw5dclean-glass-36808
09/04/2026, 9:59 PMclean-glass-36808
09/04/2026, 10:00 PMclean-glass-36808
09/04/2026, 10:14 PMclean-glass-36808
09/04/2026, 10:19 PMclean-glass-36808
09/04/2026, 10:51 PMclean-glass-36808
09/04/2026, 10:54 PMalways_succeeds runs twice since the statement in finally doesn't return I guess. I can fix that example.broad-monitor-993
09/05/2026, 1:35 AMclean-glass-36808
09/05/2026, 2:34 AMclean-glass-36808
09/08/2026, 9:54 PM