Trino Configuration
The Query Engine connects to Trino through a configurable connection layer that manages JDBC connections, session properties, resource groups, and query timeouts. Configuration is managed through environment variables and application properties.
Connection Settings
| Property | Default | Description |
|---|---|---|
trino.host | trino-coordinator | Trino coordinator hostname |
trino.port | 8080 | Trino coordinator port |
trino.catalog | delta | Default catalog for queries |
trino.schema | default | Default schema for queries |
trino.source | matih-query-engine | Source identifier for query tracking |
Connection Pool
The JDBC connection pool is configured for high-concurrency query workloads:
| Property | Default | Description |
|---|---|---|
trino.pool.maxConnections | 50 | Maximum connections in the pool |
trino.pool.minIdle | 10 | Minimum idle connections |
trino.pool.connectionTimeout | 30000 | Connection timeout in milliseconds |
trino.pool.idleTimeout | 600000 | Idle connection timeout |
Session Properties
Per-query session properties control Trino's execution behavior:
sessionProperties.put("query_max_run_time", "5m");
sessionProperties.put("query_max_memory", "1GB");
sessionProperties.put("join_distribution_type", "AUTOMATIC");
sessionProperties.put("enable_dynamic_filtering", "true");Tenant-specific session properties are applied based on the tenant's tier:
| Tier | Max Run Time | Max Memory | Max Concurrent |
|---|---|---|---|
| FREE | 2 min | 256MB | 2 |
| STARTER | 5 min | 512MB | 5 |
| PROFESSIONAL | 15 min | 2GB | 20 |
| ENTERPRISE | 60 min | 8GB | 50 |
Resource Groups
Trino resource groups enforce concurrency and memory limits per tenant:
{
"rootGroups": [
{
"name": "tenant_${TENANT_ID}",
"softMemoryLimit": "20%",
"maxQueued": 100,
"softConcurrencyLimit": 10,
"hardConcurrencyLimit": 20,
"schedulingPolicy": "fair"
}
]
}Health Checks
The Query Engine monitors Trino availability through periodic health checks against the coordinator's /v1/info endpoint. If Trino becomes unavailable, queries are queued until connectivity is restored.