I checked a (biased) selection of nf-core pipeline...
# aws-megatests
d
I checked a (biased) selection of nf-core pipelines for their AWS Results and approximately half failed in their most recent release, see attached table. Looking at advertising our pipelines, that looks very poor. Because ampliseq isnt working I wanted to see whether I am the only one who doesnt get that to work. Just wanted to leave that here, not sure yet what I conclude from that.
πŸ«₯ 1
😱 3
r
I am wondering if something odd is happening with the results. I was looking at a few sarek releases where I was reasonable certain I had triggered the full size tests and they had completed but i didn't see the results on the website. Do you by chance have for any of these the platform link to the successful run?
(haven't had time to track down the runs in platform myself this morning)
Alright started an investigation of whether or not results are preserved. For ampliseq at least yes. For ampliseq here we keep seeing the error with QIIME and fusion and we should disable it for QIIME related processes as we did previously, for example here: https://cloud.seqera.io/orgs/nf-core/workspaces/AWSmegatests/watch/2KzJwVHQ00jXMd/v2/info I resubmitted your two previous (2.16.1 and 2.16.0 here: https://cloud.seqera.io/orgs/nf-core/workspaces/AWSmegatests/watch/2180GyaDXZo2q4/v2/logs https://cloud.seqera.io/orgs/nf-core/workspaces/AWSmegatests/watch/57w5vLj9wLZna7/v2/logs
picrust needed 40GB
d
Thanks a lot! About that oom, for both, 2.16.0 and 2.16.1, peak_rss shows for picrust almost 40GB, but 2.16.0 passed with 20GB allocated, 2.16.1 not. Seems odd. Not sure whether it makes sense to increase the resource allocation?
g
@Daniel Straub I am running airrflow on the non-fusion environment to get it to run. I couldn’t figure out what was going wrong with the fusion environment since particular processes were passing there for some samples but not others. That might be one aspect?
r
@Gisela Gabernet do you have a failed run I can check.
d
That might be one aspect?
Yes, absolutely. Is there a way to specify that somewhere so that the AWS test is always run without fusion?
g
@Daniel Straub Just specify the
TOWER_COMPUTE_ENV_NO_FUSION
in your
awsfulltest
to test it out like we do in
airrflow
https://github.com/nf-core/airrflow/blob/d5ae524df7d39a5b80b05ee60f86411d68db38ce/.github/workflows/awsfulltest.yml#L30
In my experience, these are due to the Fusion compute environments. Should we swap the default to not-fusion until we understand these errors?
j
I don't think it is consistent enough to switch out yet... not everyone are having the problems it seems
d
Thanks Gisela, will try that out!
r
Gisela, I am looking at yours, I think what happened is that AWS spot reclaimed the machine and the snapshotting wasn't fast enough to ransfer the job to a new machine
πŸ‘ 1
p
Snapshot reclamation is like, 10000% more prevalent than it was a couple of years ago. I'm finding on many of my tests these days that basically any task running for more than about 30 minutes seems to get reclaimed.
Fusion snapshots manages to rescue most of these - I suspect if we turn off Fusion globally we will see a big jump in credit usage because all the tests will be running a tonne of spot reclaim retries on long-running jobs
(or just failing)
r
ok I grabbed the recent releases from pipelines (had rerun a bunch of them in february) and had claude parse over the logs 3 times to check which of them ran on fusion, which of them definitely on plains3 queue and which had a work around.
Copy code
| Category | Count |
|----------|------:|
| PASS with fusion enabled | 50 |
| PASS on non-fusion CE (PlainS3 queue) | 3 |
| FAIL β€” fusion-related | 6 |
| FAIL β€” not fusion-related | 16 |
| No full-size test run | 16 |
| **Total** | **91** |
I have spot checked the results, it be great if someone else can also randomly click around the links and let me know if any are wrongly attributed.
πŸ‘Œ 1
🀩 1
d
Checked for ampliseq, seems correct. Looking at the config, maybe that PR should resolve the issues of ampliseq in the future?
g
Ok, thank you for the detailed reports, in my case just switching to the non-fusion CE solved the issues but I see it is more complex than that. For airrflow I just tried resuming it several times but it was failing at random processes for random samples (which makes sense that it is related to spot reclaiming). Is there something else we can do to get them to run on the fusion CE? E.g. auto-resuming or any other solution?
r
We could setup a fall back to an on-demand queue or let it try more often on spot reclaims
πŸ‘ 1
g
Sounds like a good plan!
j
I am also finding a similar error for proteinfold, one sample worked but the other keeps failing with error messages such as:
Copy code
12, 225), 'deletion_mean': (225,), 'all_atom_mask': (225, 37), 'all_atom_positions': (225, 37, 3), 'assembly_num_chains': (), 'entity_mask': (225,), 'num_templates': (), 'cluster_bias_mask': (512,), 'bert_mask': (512, 225), 'seq_mask': (225,), 'msa_mask': (512, 225)}
[2026-03-12 14:07:34.347] [WARN] Warn  (dumprestore.c:235): predump failed, starting new chain for future dumps
FUSION_GPU_USED=false
[2026-03-12 13:17:34.480] [ERROR] Error (exec.c:102): incremental dump failed with code: -52
[2026-03-12 13:22:34.433] [ERROR] Error (exec.c:102): incremental dump failed with code: -52
[2026-03-12 13:27:34.365] [ERROR] Error (exec.c:102): incremental dump failed with code: -52
[2026-03-12 13:32:34.414] [ERROR] Error (exec.c:102): incremental dump failed with code: -52
[2026-03-12 13:37:34.373] [ERROR] Error (exec.c:102): incremental dump failed with code: -52
[2026-03-12 13:42:34.371] [ERROR] Error (exec.c:102): incremental dump failed with code: -52
[2026-03-12 13:47:34.318] [ERROR] Error (exec.c:102): incremental dump failed with code: -52
[2026-03-12 13:52:34.374] [ERROR] Error (exec.c:102): incremental dump failed with code: -52
[2026-03-12 13:57:34.372] [ERROR] Error (exec.c:102): incremental dump failed with code: -52
[2026-03-12 14:02:34.401] [ERROR] Error (exec.c:102): incremental dump failed with code: -52
[2026-03-12 14:07:34.429] [ERROR] Error (exec.c:102): incremental dump failed with code: -52
FUSION_GPU_USED=false
[2026-03-12 14:15:15.768] [ERROR] Error (helpers.c:675): no full dumps found in metadata
[2026-03-12 14:15:15.768] [ERROR] Error (dumprestore.c:335): no full dumps available for restoration
r
I think it is trying to rescue the spot reclaim but can't store the data fast enough. Which tool is this?
alphafold2 and boltz`
alphafold2 in multimer mode
one sample worked but the longer sequence is failing, I retried and got the same thing
r
it is auto retrying now as far as I can see
j
yes, it increased the memory, let’s see
if not I will try with
fusion.enabled = false
as Gisela suggested
r
@Jose Espinosa-Carrasco your pipeline passed and this time it was able to recover the spot instance reclaim and try again: https://cloud.seqera.io/orgs/nf-core/workspaces/AWSmegatests/watch/37pQymumIJoo1K/metrics
πŸ‘πŸ» 1
j
However, this one failed that I launched at the same time failed πŸ‘‰πŸ» https://cloud.seqera.io/orgs/nf-core/workspaces/AWSmegatests/watch/5HpawGcTFSYmyZ/logs with:
Copy code
[2026-03-13 03:39:25.955] [WARN] Warn  (dumprestore.c:235): predump failed, starting new chain for future dumps
  [2026-03-13 03:44:25.927] [WARN] Warn  (dumprestore.c:235): predump failed, starting new chain for future dumps
  [2026-03-13 03:49:25.928] [WARN] Warn  (dumprestore.c:235): predump failed, starting new chain for future dumps
  [2026-03-13 03:54:25.969] [WARN] Warn  (dumprestore.c:235): predump failed, starting new chain for future dumps
  [2026-03-13 03:59:25.906] [WARN] Warn  (dumprestore.c:235): predump failed, starting new chain for future dumps
  [2026-03-13 04:04:25.951] [WARN] Warn  (dumprestore.c:235): predump failed, starting new chain for future dumps
  [2026-03-13 04:09:25.974] [WARN] Warn  (dumprestore.c:235): predump failed, starting new chain for future dumps
  [2026-03-13 04:14:25.912] [WARN] Warn  (dumprestore.c:235): predump failed, starting new chain for future dumps
r
the real issue is at the top of that log:
Job attempt duration exceeded timeout
the warn logs just indicate that the snapshotting is preparing dumps just in case. However, you just ran out of requested time here I believe. the job is cancelled at 16h 22s and you requested 16h of walltime for that job
j
the issue here is that this job normally does not last that long in my HPC and according to the
.command.err
and the
.command.log
I can not see anything strange going on…
Also, the other test that succeded at the end was actually having the same problem
r
Why are you doing all the mv/cp operations? They tend to seriously increase runtime on compute that doesn't have shared storage like clouds. Are they necessary?
j
Yes 😬
Unless you can come up with a better way for shitty bioinformatic tools to not hardocde output names πŸ˜‰
πŸ˜‚ 1
r

https://www.youtube.com/watch?v=MX_95p9YOtsβ–Ύ

for context
I don't know bolz to give you any recommendations, but likely the explanation for why the runtime os soo much higher
πŸ‘πŸ» 1
j
The action now fails to send the tests to the platform: https://github.com/nf-core/proteinfold/actions/runs/23048595518
r
ah woops I need to update the environment variables on github
thankyou 1
for some reason the GHA picks up the old secret although I have overwritten it about 15 times by now. Who knows something about the secret setup on GHA: https://github.com/nf-core/proteinfold/actions/runs/23049185489/job/66945786234 The workflow is insisting on using a CE with 7bhvghH3vWdXhDPAopLdhL which does not exists. I have overwritten all the secret a bunch of times now trying the ID and the name, but whatever I do the value resolves to 7b sth. I have no idea where it gets that value from
p
Org level?
Screenshot 2026-03-13 at 12.44.13.png
j
Sarek is running now, I guess it’s you πŸ’₯
r
yes but I haven't changed anything in comparison to proteinfold on the sarek repo homer disappear soooo I still don't know why proteinfold is using some other value
j
Could be something related to the gpu instances?
r
it is resolving the compute_env value to something that doesn't exist:
Copy code
with:
    workspace_id: 59994744926013
    access_token: ***
    compute_env: 7bhvghH3vWdXhDPAopLdhL
    revision: fdff167be2dec1d8f890a2f3205727524236d331
    workdir: <s3://nf-core-awsmegatests/work/proteinfold/work-fdff167be2dec1d8f890a2f3205727524236d331>
    parameters: {
    "hook_url": "***",
    "outdir": "<s3://nf-core-awsmegatests/proteinfold/results-fdff167be2dec1d8f890a2f3205727524236d331>",
    "use_gpu": true
  }
for all I can tell in the workflow file this is computed here:
Copy code
- name: Set compute environment
        id: compute_env
        run: |
          echo "compute_env=${{ matrix.compute_env == 'gpu' && vars.TOWER_COMPUTE_ENV_GPU || vars.TOWER_COMPUTE_ENV }}" >> "$GITHUB_OUTPUT"
          echo "Mode: ${{ matrix.mode }}"
          echo "Compute env type: ${{ matrix.compute_env }}"
      - name: Launch workflow via Seqera Platform
        uses: seqeralabs/action-tower-launch@v2
        with:
          workspace_id: ${{ vars.TOWER_WORKSPACE_ID }}
          access_token: ${{ secrets.TOWER_ACCESS_TOKEN }}
          compute_env: ${{ steps.compute_env.outputs.compute_env }}
          revision: ${{ steps.revision.outputs.revision }}
          workdir: s3://${{ vars.AWS_S3_BUCKET }}/work/proteinfold/work-${{ steps.revision.outputs.revision }}
          parameters: |
            {
              "hook_url": "${{ secrets.MEGATESTS_ALERTS_SLACK_HOOK_URL }}",
              "outdir": "s3://${{ vars.AWS_S3_BUCKET }}/proteinfold/results-${{ steps.revision.outputs.revision }}",
              "use_gpu": true
            }
          profiles: test_full_${{ matrix.mode }}
I have updated
TOWER_COMPUTE_ENV_GPU
j
Not it run but I got this error:
Copy code
Caused by:
  Missing AWS Batch job queue -- provide it by using the process `queue` directive
r
from the GHA runner?
j
m
you can have a secret on the repo that overwrites the one from the org
r
m
I got it
πŸ‘€ 1
you have updated the secret TOWER_COMPUTE_ENV_GPU not the variable TOWER_COMPUTE_ENV_GPU
party this 2
πŸ‘πŸ» 1
r
ok throwing claude at it. now that I think about it it's also weird it's plain text when it should be a secret
Maxime 🦸
m
TOWER_COMPUTE_ENV_GPU is still 6 months old
r
why do we have this twice 😭
m
Why do we have secrets and variables?
r
also why the ids and not the name. Let me try with name so we can swap out CEs
there we go shipit parrot
but looks like I didn't properly setup the fallback startegy. Was trying to be sneaky so I don't need to first create all CEs but it didn't work. COnfused why it worked for the CPU ones though.
j
I cancelled the runs will only trigger boltz
r
checking what is different in the fallback strategy. The syntax is the same as on the CPU one as far as I can tell, and there it works
πŸ€” 1
I AM CONFUSED. I haven't changed anything. @Jose Espinosa-Carrasco did you?
j
No, I didn’t change anything
Maybe @Maxime Garcia?
I am getting now this:
Copy code
12:36PM INF [seqera-fusion] setting up AWS Batch spot instance monitoring provider=aws-batch
12:36PM INF [seqera-fusion] instance metadata ami-id=ami-015954e215366e98e instance-id=i-0a2523e5c72995e23 instance-type=g4dn.4xlarge
12:36PM INF [seqera-fusion] starting incremental snapshot timer interval=300000
12:41PM INF [seqera-fusion] sending incremental snapshot signal (SIGUSR1)
12:46PM INF [seqera-fusion] sending incremental snapshot signal (SIGUSR1)
12:51PM INF [seqera-fusion] sending incremental snapshot signal (SIGUSR1)
12:56PM INF [seqera-fusion] sending incremental snapshot signal (SIGUSR1)
1:01PM INF [seqera-fusion] sending incremental snapshot signal (SIGUSR1)
1:06PM INF [seqera-fusion] sending incremental snapshot signal (SIGUSR1)
1:11PM INF [seqera-fusion] sending incremental snapshot signal (SIGUSR1)
1:16PM INF [seqera-fusion] sending incremental snapshot signal (SIGUSR1)
1:21PM INF [seqera-fusion] sending incremental snapshot signal (SIGUSR1)
But the process seems not to be started… Don’t understand really what is going on
r
no worries, it's building an incremental snapshot
j
yep, but it seems to be stacked here without even starting the process πŸ‘€
g
Ping me if you’d like me to do some tests with airrflow as well, going back to the fusion environment πŸ™‚
m
Sorry, got stuck on non squirrel tasks for once
I'll have a look on Monday
r
@Gisela Gabernet It should work. I tested with sarek and it was ok. I don't quite know why the GPU based ones sometimes work and sometimes don't but the CPU based ones seem ok. Let me know how testing goes
g
Great, I’ll test it out and let you know. What environment should I use?
r
sorry I was sick. this CE should work (I updated the github secrets so it should work also if you run the action): aws_ireland_fusionv2_nvme_cpu_spot
d
As discussed above I attempted to set AWS tests to
TOWER_COMPUTE_ENV_NO_FUSION
and as earlier suggested by Rike
scratch=true
for QIIME2 in this PR. I started
nf-core AWS test
manually (not
test_full
, I wanted to keep computational burden low) on dev branch via github here, but the run failed again here. Something went wrong, it appears like fusion was used (inferred from aws_ireland_fusionv2_nvme_cpu_spot), so I didnt successfully modify the settings?
r
let me take a look. side note:
scratch=true
should only be relevant for the fusion runs as this will use the local storage on the node instead of streaming from s3
I am guessing I messed up the environment variables on the github action somewhere.
ah, I know the issue. You are referencing a var.`TOWER_COMPUTE_ENV_NO_FUSION`` in the workflow file, but it is a secret and then falls back to the primary CE.
d
Ok, and how would I then correctly avoid the fusion setting?
r
if you are using the non-fusion CE, then there shouldn't be any fusion to avoid. I am checking on #CE5LG7WMB if people want to keep secrets or variables and then we can set it on the Github side appropriatly. In the meantime for testing you could also just hardcode
aws_ireland_s3_cpu_spot
for the CE name.
d
Ok, thanks, unfortunately I dont know where I would hardcode that non-fusion environment, so I am patient and wait for the github change (also have no clue where to start there πŸ˜„ ).
d
Thanks, but now manually triggering the AWS test failed: https://github.com/nf-core/ampliseq/actions/runs/23338908535/job/67887452579
r