
TL;DR
We discovered and addressed a suboptimal process in Trino/Starburst metadata calls, cutting out unnecessary work while accelerating response times by more than 4x.
The problem
The power of Immuta’s integration with Trino/Starburst is the ability to give users a single point of data access, with governance built in by design. So, when a query in Trino (or Starburst) asks Immuta about a table, we only need to answer one question: “Is this user subscribed to this table, and what policies apply?”
But our previous logic walked all of the user’s subscriptions across all data sources. That meant we were doing a lot of permission math we didn’t need—on every call.
- Scope of the request: 1 table
- Scope of the work we did: all tables (unnecessary)
- Impact: higher CPU, longer response times, heavier load during peak hours
The fix
We refactored the evaluation path to restrict subscription calculations strictly to the table referenced by the API call. No global sweep, no cross-catalog detours, no sidebar computations. Same accuracy, dramatically less work.
The impact (with data)
We rolled out the change on September 26, 2025 and began seeing improvements almost immediately. Response times accelerated by 4.26×, and became 7.75× faster at the 95th percentile.
Below are the before/after results measured on the same production workload:

Average response time (seconds per call)
Period | Average Latency | Improvement |
---|---|---|
Before (Aug. – Sept. 2025) | 0.43 s | – |
After (post-Sept. 26, 2025) | 0.10 s | ~4x faster |
How we measured
Each point in the chart represents the average latency across all tenants for that day. The step change occurs immediately after the rollout, with post-upgrade averages stabilizing near 0.10 seconds per call.
Why this matters
- Faster interactive exploration. Analysts browsing catalogs and expanding schemas in their SQL IDEs will feel near-instant responses.
- Smoother peak hours. Reduces CPU spikes from redundant permission checks, improving performance without disruptions.
- Lower cost per request. Less work per call means fewer cycles to deliver the same answer – increasing productivity and speed to insights.
- More consistent performance. Before this change, some requests were randomly much slower than others, especially when dashboards or reports were loading lots of data at once. Now, response times are steady and predictable, even under heavier workloads.
What to do next
Nothing. If you’re on the latest Immuta–Trino/Starburst integration, you’re getting the improvement automatically.
If you’re not currently using this integration, take a tour with our team.
Get started.
Learn more about Immuta's integration with Trino/Starburst.