Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ All notable changes to this project will be documented in this file.
- BREAKING: Add required CLI argument and env var to set the image repository used to construct final product image names: `IMAGE_REPOSITORY` (`--image-repository`), eg. `oci.example.org/my/namespace` ([#884]).
- Added support for the [PostgreSQL connector](https://trino.io/docs/current/connector/postgresql.html) using the new generic database connection mechanism.
Previously, users had to use the `generic` connector ([#883]).
- Added support for Trino 481 ([#900]).

### Changed

Expand Down Expand Up @@ -38,6 +39,7 @@ All notable changes to this project will be documented in this file.
[#884]: https://github.com/stackabletech/trino-operator/pull/884
[#889]: https://github.com/stackabletech/trino-operator/pull/889
[#895]: https://github.com/stackabletech/trino-operator/pull/895
[#900]: https://github.com/stackabletech/trino-operator/pull/900

## [26.3.0] - 2026-03-16

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ sleep 5
echo "Start testing Trino"
echo "Downloading Trino CLI tool as trino.jar"
# tag::download-trino-cli[]
curl --fail --output trino.jar https://repo.stackable.tech/repository/packages/trino-cli/trino-cli-479
curl --fail --output trino.jar https://repo.stackable.tech/repository/packages/trino-cli/trino-cli-481
# end::download-trino-cli[]

echo "Run chmod +x for trino.jar"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ sleep 5
echo "Start testing Trino"
echo "Downloading Trino CLI tool as trino.jar"
# tag::download-trino-cli[]
curl --fail --output trino.jar https://repo.stackable.tech/repository/packages/trino-cli/trino-cli-479
curl --fail --output trino.jar https://repo.stackable.tech/repository/packages/trino-cli/trino-cli-481
# end::download-trino-cli[]

echo "Run chmod +x for trino.jar"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ metadata:
name: simple-trino
spec:
image:
productVersion: "479"
productVersion: "481"
clusterConfig:
catalogLabelSelector:
matchLabels:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ metadata:
name: simple-trino
spec:
image:
productVersion: "479"
productVersion: "481"
clusterConfig:
catalogLabelSelector:
matchLabels:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ metadata:
name: trino-fault-tolerant
spec:
image:
productVersion: "479"
productVersion: "481"
clusterConfig:
catalogLabelSelector:
matchLabels:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ metadata:
name: simple-trino
spec:
image:
productVersion: "479"
productVersion: "481"
clusterConfig:
catalogLabelSelector:
matchLabels:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ metadata:
name: simple-trino
spec:
image:
productVersion: "479"
productVersion: "481"
clusterConfig:
tls:
internalSecretClass: trino-internal-tls # <1>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ metadata:
name: simple-trino
spec:
image:
productVersion: "479"
productVersion: "481"
clusterConfig:
tls:
serverSecretClass: trino-tls # <1>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ metadata:
name: simple-trino
spec:
image:
productVersion: "479"
productVersion: "481"
clusterConfig:
tls:
serverSecretClass: trino-tls # <1>
Expand Down
2 changes: 1 addition & 1 deletion docs/modules/trino/pages/getting_started/installation.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ For these components extra steps are required.
** a Stackable xref:secret-operator:index.adoc[Secret Operator] for certificates when deploying for TLS
** a Stackable xref:commons-operator:index.adoc[Commons Operator] for certificates when deploying for TLS authentication
** (for authorization): a Stackable xref:opa:index.adoc[OPA Operator]
** the https://repo.stackable.tech/#browse/browse:packages:trino-cli%2Ftrino-cli-479[Trino CLI] to test SQL queries
** the https://repo.stackable.tech/#browse/browse:packages:trino-cli%2Ftrino-cli-481[Trino CLI] to test SQL queries

=== S3 bucket

Expand Down
2 changes: 1 addition & 1 deletion docs/modules/trino/pages/usage-guide/OpenTelemetry.adoc
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
= OpenTelemetry
:description: Ship Trino traces and logs to OpenTelemetry
:trino-docs: https://trino.io/docs/477/admin/opentelemetry.html
:trino-docs: https://trino.io/docs/481/admin/opentelemetry.html

Trino supports sending OpenTelemetry traces as stated in {trino-docs}[the documentation].

Expand Down
2 changes: 1 addition & 1 deletion docs/modules/trino/pages/usage-guide/connect_to_trino.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ The `--insecure` flag ignores the server TLS certificate and is required in this

[source,console]
----
$ trino-cli-479 --server https://85.215.195.29:8443 --user admin --password --insecure
$ trino-cli-481 --server https://85.215.195.29:8443 --user admin --password --insecure
----

TIP: In case you are using OpenID connect, use `--external-authentication` instead of `--password`.
Expand Down
3 changes: 2 additions & 1 deletion docs/modules/trino/partials/supported-versions.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,6 @@
// Stackable Platform documentation.

// These versions must be sorted in descending order (highest to lowest).
- 479 (Please note that we use the https://github.com/snowlift/trino-storage[trino-storage] connector version 477, as no newer version was available at the time of release)
- 481 (Please note that we use the https://github.com/snowlift/trino-storage[trino-storage] connector version 477, as no newer version was available at the time of release)
- 479 (deprecated; Please note that we use the https://github.com/snowlift/trino-storage[trino-storage] connector version 477, as no newer version was available at the time of release)
- 477 (LTS)
2 changes: 1 addition & 1 deletion rust/operator-binary/src/authentication/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -684,7 +684,7 @@ mod tests {
fn resolved_product_image() -> ResolvedProductImage {
ResolvedProductImage {
product_version: "".to_string(),
app_version_label_value: "477".parse().expect("static label value is always valid"),
app_version_label_value: "481".parse().expect("static label value is always valid"),
image: "".to_string(),
image_pull_policy: "".to_string(),
pull_secrets: None,
Expand Down
2 changes: 1 addition & 1 deletion rust/operator-binary/src/authentication/password/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -254,7 +254,7 @@ mod tests {
TrinoPasswordAuthentication::new(authenticators)
.password_authentication_config(&ResolvedProductImage {
product_version: "".to_string(),
app_version_label_value: "477".parse().expect("static label value is always valid"),
app_version_label_value: "481".parse().expect("static label value is always valid"),
image: "".to_string(),
image_pull_policy: "".to_string(),
pull_secrets: None,
Expand Down
45 changes: 9 additions & 36 deletions rust/operator-binary/src/catalog/commons.rs
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@ impl ExtendCatalogConfig for s3::v1alpha1::InlineConnectionOrReference {
_catalog_name: &str,
catalog_namespace: Option<String>,
client: &Client,
trino_version: u16,
_trino_version: u16,
) -> Result<(), FromTrinoCatalogError> {
let s3 = self
.clone()
Expand All @@ -97,48 +97,21 @@ impl ExtendCatalogConfig for s3::v1alpha1::InlineConnectionOrReference {
catalog_config.volumes.extend(volumes);
catalog_config.volume_mounts.extend(mounts);

if trino_version >= 469 {
// Since Trino 469, S3 native support has to be explicitly enabled
// unless using Legacy S3 support (which has been deprecated in 470).
catalog_config.add_property("fs.native-s3.enabled", "true");
}

let (endpoint_prop, region_prop, path_style_prop) = match trino_version {
..=468 => (
"hive.s3.endpoint",
"hive.s3.region",
"hive.s3.path-style-access",
),
469.. => ("s3.endpoint", "s3.region", "s3.path-style-access"),
};
catalog_config.add_property(endpoint_prop, s3.endpoint().context(ConfigureS3Snafu)?);
catalog_config.add_property(region_prop, &s3.region.name);
catalog_config.add_property("fs.native-s3.enabled", "true");
catalog_config.add_property("s3.endpoint", s3.endpoint().context(ConfigureS3Snafu)?);
catalog_config.add_property("s3.region", &s3.region.name);
catalog_config.add_property(
path_style_prop,
"s3.path-style-access",
(s3.access_style == s3::v1alpha1::S3AccessStyle::Path).to_string(),
);

if let Some((access_key, secret_key)) = s3.credentials_mount_paths() {
let (access_key_prop, secret_key_prop) = match trino_version {
..=468 => ("hive.s3.aws-access-key", "hive.s3.aws-secret-key"),
469.. => ("s3.aws-access-key", "s3.aws-secret-key"),
};
catalog_config.add_env_property_from_file(access_key_prop, access_key);
catalog_config.add_env_property_from_file(secret_key_prop, secret_key);
catalog_config.add_env_property_from_file("s3.aws-access-key", access_key);
catalog_config.add_env_property_from_file("s3.aws-secret-key", secret_key);
}

match trino_version {
// Older trino versions allowed TLS to be optional
..=468 => {
if !s3.tls.uses_tls() {
tracing::warn!("from Trino 460, TLS will be required for S3 connections");
}
catalog_config.add_property("hive.s3.ssl.enabled", s3.tls.uses_tls().to_string());
}
// TLS is required when using native S3 implementation.
// https://trino.io/docs/469/object-storage/legacy-s3.html#migration-to-s3-file-system
469.. => ensure!(s3.tls.uses_tls(), S3TlsRequiredSnafu),
};
// TLS is required when using native S3 implementation.
ensure!(s3.tls.uses_tls(), S3TlsRequiredSnafu);

if let Some(tls) = s3.tls.tls.as_ref() {
match &tls.verification {
Expand Down
45 changes: 41 additions & 4 deletions rust/operator-binary/src/config/jvm.rs
Original file line number Diff line number Diff line change
Expand Up @@ -112,8 +112,7 @@ fn recommended_trino_jvm_args(product_version: u16) -> Result<Vec<String>, Error
match product_version {
// Copied from:
// - https://trino.io/docs/477/installation/deployment.html#jvm-config
// - https://trino.io/docs/479/installation/deployment.html#jvm-config
477 | 479 => Ok(vec![
477 => Ok(vec![
"-XX:InitialRAMPercentage=80".to_owned(),
"-XX:MaxRAMPercentage=80".to_owned(),
"-XX:G1HeapRegionSize=32M".to_owned(),
Expand All @@ -129,6 +128,44 @@ fn recommended_trino_jvm_args(product_version: u16) -> Result<Vec<String>, Error
"-Dfile.encoding=UTF-8".to_owned(),
"-XX:+EnableDynamicAgentLoading".to_owned(),
]),
// Copied from:
// - https://trino.io/docs/479/installation/deployment.html#jvm-config.
// However, the docs are wrong: https://github.com/trinodb/trino/commit/1ddb0f9976fcd9917aaf0b689ca0acc8635e24f1.
// According to the commit we need to add "--add-modules=jdk.incubator.vector"
479 => Ok(vec![
"-XX:InitialRAMPercentage=80".to_owned(),
"-XX:MaxRAMPercentage=80".to_owned(),
"-XX:G1HeapRegionSize=32M".to_owned(),
"-XX:+ExplicitGCInvokesConcurrent".to_owned(),
"-XX:+ExitOnOutOfMemoryError".to_owned(),
"-XX:+HeapDumpOnOutOfMemoryError".to_owned(),
"-XX:-OmitStackTraceInFastThrow".to_owned(),
"-XX:ReservedCodeCacheSize=512M".to_owned(),
"-XX:PerMethodRecompilationCutoff=10000".to_owned(),
"-XX:PerBytecodeRecompilationCutoff=10000".to_owned(),
"-Djdk.attach.allowAttachSelf=true".to_owned(),
"-Djdk.nio.maxCachedBufferSize=2000000".to_owned(),
"-Dfile.encoding=UTF-8".to_owned(),
"-XX:+EnableDynamicAgentLoading".to_owned(),
"--add-modules=jdk.incubator.vector".to_owned(),
]),
// Copied from:
// - https://trino.io/docs/481/installation/deployment.html#jvm-config
481 => Ok(vec![
"-XX:InitialRAMPercentage=80".to_owned(),
"-XX:MaxRAMPercentage=80".to_owned(),
"-XX:G1HeapRegionSize=32M".to_owned(),
"-XX:+ExplicitGCInvokesConcurrent".to_owned(),
"-XX:+ExitOnOutOfMemoryError".to_owned(),
"-XX:+HeapDumpOnOutOfMemoryError".to_owned(),
"-XX:-OmitStackTraceInFastThrow".to_owned(),
"-XX:ReservedCodeCacheSize=512M".to_owned(),
"-XX:PerMethodRecompilationCutoff=10000".to_owned(),
"-XX:PerBytecodeRecompilationCutoff=10000".to_owned(),
"-Djdk.attach.allowAttachSelf=true".to_owned(),
"-Djdk.nio.maxCachedBufferSize=2000000".to_owned(),
"--add-modules=jdk.incubator.vector".to_owned(),
]),
_ => TrinoVersionNotSupportedSnafu {
version: product_version,
}
Expand All @@ -154,7 +191,7 @@ mod tests {
name: simple-trino
spec:
image:
productVersion: "479"
productVersion: "481"
clusterConfig:
catalogLabelSelector: {}
coordinators:
Expand Down Expand Up @@ -198,7 +235,7 @@ mod tests {
name: simple-trino
spec:
image:
productVersion: "479"
productVersion: "481"
clusterConfig:
catalogLabelSelector: {}
coordinators:
Expand Down
8 changes: 4 additions & 4 deletions rust/operator-binary/src/controller.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1654,7 +1654,7 @@ mod tests {
name: simple-trino
spec:
image:
productVersion: "479"
productVersion: "481"
clusterConfig:
catalogLabelSelector:
matchLabels:
Expand Down Expand Up @@ -1712,7 +1712,7 @@ mod tests {
name: simple-trino
spec:
image:
productVersion: "479"
productVersion: "481"
clusterConfig:
catalogLabelSelector:
matchLabels:
Expand Down Expand Up @@ -1901,7 +1901,7 @@ mod tests {
name: trino
spec:
image:
productVersion: "479"
productVersion: "481"
clusterConfig:
catalogLabelSelector:
matchLabels:
Expand Down Expand Up @@ -1954,7 +1954,7 @@ mod tests {
name: trino
spec:
image:
productVersion: "479"
productVersion: "481"
clusterConfig:
catalogLabelSelector:
matchLabels:
Expand Down
4 changes: 2 additions & 2 deletions rust/operator-binary/src/crd/affinity.rs
Original file line number Diff line number Diff line change
Expand Up @@ -120,7 +120,7 @@ mod tests {
name: simple-trino
spec:
image:
productVersion: "479"
productVersion: "481"
clusterConfig:
catalogLabelSelector:
matchLabels:
Expand Down Expand Up @@ -208,7 +208,7 @@ mod tests {
name: simple-trino
spec:
image:
productVersion: "479"
productVersion: "481"
clusterConfig:
catalogLabelSelector:
matchLabels:
Expand Down
Loading
Loading