materialized='table' rewrites metadata.json with the full snapshot list. The coordinator parses that list into heap. File version in the 700s; JVM 2 GiB then 8 GiB. Expiry runs on Spark, not on Trino. Nessie GC is the wrong tool.
Nessie was medium-priority (600000); Trino coordinators were high-priority (1000000). The scheduler killed Nessie to place them. PDB is best-effort. Stock Nessie 0.103.3 could not set a PriorityClass. That is why the chart patch exists.
One coordinator for dashboards and dbt full-refresh is a bad idea. trino-main is humans; trino-etl is batch with task retry. dbt stays a container in an Argo workflow, not a Helm release.
First query path on an EKS cluster that already existed: Nessie + one Trino, JDBC2 on a PVC, CDK for the bucket, Helmfile for the two charts. It worked. No TLS, no HA, no Spark, no Argo jobs, no dbt.