Skip to content

Commit 2f846bc

Browse files
feat: Add support for Trino 470 (#705)
* test(integration): Add Trino 469, update latest version * docs: Update trino version to 469 * feat: Add support for Trino 469 * test(unit): Update trino version used in tests * chore: regenerate Cargo.nix It was missed in #704 * chore: Update changelog * wip: native s3 initial cut * wip: more versiony stuff * wip: parse Trino version as u16 version from String * wip: remove comment and restore newline * feat: Replace 469 with 470 * test: Trino now requires TLS for S3 * chore: Search and replace Trino productVersions * chore: Rename trino_version to product_version for consistency * refactor: Change product_version in the jvm mod to u16 for consistency * chore: Improve note about native s3 support * chore: Update changelog * chore: Update changelog * chore: Add warning about upcoming requirement for TLS requirement for S3 connections Although it is technically possible to enable legacy S3 support in Trino 469, we have forced native s3 support since 469 so the warning is written that way. * refactor: Use ensure! instead of if not * chore: Bump stackable-operator for S3 region support * feat: Set the S3 region unless it will be auto-discovered * test(smoke): Override hive metastore memory limit due to OOMKilled Ideally this should be done by the hive-operator. * docs: Update supported versions * Apply suggestions from code review Improve error message * Apply suggestions from code review Emit warning only if tls is disabled. * test: Update comments about minio and OpenShift testing * test: Adjusted comments about minio and OpenShift testing * chore: Bump stackable-operator and use the updated s3 region struct * chore: Update changelog * test: Add smoke_aws test to show how to use Trino with AWS S3 buckets * chore: Make the operator fail for unsupported versions This is not ideal as it prevents people trying whatever version they want, but we will defer this to a team decision later. * chore: Undo resource overrides now that Hive resources have been increased * Apply suggestions from code review Co-authored-by: Sebastian Bernauer <sebastian.bernauer@stackable.de> * chore: Update changelog --------- Co-authored-by: Sebastian Bernauer <sebastian.bernauer@stackable.de>
1 parent 011bc76 commit 2f846bc

File tree

68 files changed

+6313
-145
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

68 files changed

+6313
-145
lines changed

CHANGELOG.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,20 @@ All notable changes to this project will be documented in this file.
1111
- Run a `containerdebug` process in the background of each Trino container to collect debugging information ([#687]).
1212
- Support configuring JVM arguments ([#677]).
1313
- Aggregate emitted Kubernetes events on the CustomResources ([#677]).
14+
- Support for Trino 470 ([#705]).
1415

1516
### Changed
1617

1718
- Increased the default temporary secret lifetime for coordinators from 1 day to 15 days.
1819
This is because Trino currently does not offer a HA setup for them, a restart kills all running queries ([#694]).
1920
- Default to OCI for image metadata and product image selection ([#695]).
21+
- Explicitly set `fs.native-s3.enabled=true` and `fs.hadoop.enabled=true` in applicable catalog config properties ([#705]).
22+
- Trino 470 requires the native S3 implementation to be used.
23+
- BREAKING: Always set the S3 region ([#705]).
24+
- Previously Trino used the hadoop s3 implementation which auto-detected the region from the
25+
endpoint if it was not provided, falling back to `us-east-2`.
26+
- The default is now `us-east-1`. Please set the region explicitly if you are using a different
27+
one.
2028

2129
### Fixed
2230

@@ -28,6 +36,7 @@ All notable changes to this project will be documented in this file.
2836
[#687]: https://github.com/stackabletech/trino-operator/pull/687
2937
[#694]: https://github.com/stackabletech/trino-operator/pull/694
3038
[#695]: https://github.com/stackabletech/trino-operator/pull/695
39+
[#705]: https://github.com/stackabletech/trino-operator/pull/705
3140
[#715]: https://github.com/stackabletech/trino-operator/pull/715
3241
[#717]: https://github.com/stackabletech/trino-operator/pull/717
3342

Cargo.lock

Lines changed: 8 additions & 8 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.nix

Lines changed: 16 additions & 22 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,10 +23,10 @@ serde = { version = "1.0", features = ["derive"] }
2323
serde_json = "1.0"
2424
serde_yaml = "0.9"
2525
snafu = "0.8"
26-
stackable-operator = { git = "https://github.com/stackabletech/operator-rs.git", tag = "stackable-operator-0.85.0" }
26+
stackable-operator = { git = "https://github.com/stackabletech/operator-rs.git", tag = "stackable-operator-0.87.2" }
2727
stackable-versioned = { git = "https://github.com/stackabletech/operator-rs.git", features = ["k8s"], tag = "stackable-versioned-0.5.0" }
2828
product-config = { git = "https://github.com/stackabletech/product-config.git", tag = "0.7.0" }
29-
strum = { version = "0.26", features = ["derive"] }
29+
strum = { version = "0.27", features = ["derive"] }
3030
tokio = { version = "1.40", features = ["full"] }
3131
tracing = "0.1"
3232

crate-hashes.json

Lines changed: 3 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

deploy/helm/trino-operator/crds/crds.yaml

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1578,6 +1578,20 @@ spec:
15781578
minimum: 0.0
15791579
nullable: true
15801580
type: integer
1581+
region:
1582+
default:
1583+
name: us-east-1
1584+
description: |-
1585+
Bucket region used for signing headers (sigv4).
1586+
1587+
This defaults to `us-east-1` which is compatible with other implementations such as Minio.
1588+
1589+
WARNING: Some products use the Hadoop S3 implementation which falls back to us-east-2.
1590+
properties:
1591+
name:
1592+
default: us-east-1
1593+
type: string
1594+
type: object
15811595
tls:
15821596
description: Use a TLS connection. If not specified no TLS will be used.
15831597
nullable: true
@@ -1795,6 +1809,20 @@ spec:
17951809
minimum: 0.0
17961810
nullable: true
17971811
type: integer
1812+
region:
1813+
default:
1814+
name: us-east-1
1815+
description: |-
1816+
Bucket region used for signing headers (sigv4).
1817+
1818+
This defaults to `us-east-1` which is compatible with other implementations such as Minio.
1819+
1820+
WARNING: Some products use the Hadoop S3 implementation which falls back to us-east-2.
1821+
properties:
1822+
name:
1823+
default: us-east-1
1824+
type: string
1825+
type: object
17981826
tls:
17991827
description: Use a TLS connection. If not specified no TLS will be used.
18001828
nullable: true
@@ -1929,6 +1957,20 @@ spec:
19291957
minimum: 0.0
19301958
nullable: true
19311959
type: integer
1960+
region:
1961+
default:
1962+
name: us-east-1
1963+
description: |-
1964+
Bucket region used for signing headers (sigv4).
1965+
1966+
This defaults to `us-east-1` which is compatible with other implementations such as Minio.
1967+
1968+
WARNING: Some products use the Hadoop S3 implementation which falls back to us-east-2.
1969+
properties:
1970+
name:
1971+
default: us-east-1
1972+
type: string
1973+
type: object
19321974
tls:
19331975
description: Use a TLS connection. If not specified no TLS will be used.
19341976
nullable: true

docs/modules/trino/examples/getting_started/code/trino.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ metadata:
55
name: simple-trino
66
spec:
77
image:
8-
productVersion: "455"
8+
productVersion: "470"
99
clusterConfig:
1010
catalogLabelSelector:
1111
matchLabels:

docs/modules/trino/examples/getting_started/code/trino.yaml.j2

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ metadata:
55
name: simple-trino
66
spec:
77
image:
8-
productVersion: "455"
8+
productVersion: "470"
99
clusterConfig:
1010
catalogLabelSelector:
1111
matchLabels:

docs/modules/trino/examples/usage-guide/trino-insecure.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ metadata:
1717
name: simple-trino
1818
spec:
1919
image:
20-
productVersion: "455"
20+
productVersion: "470"
2121
clusterConfig:
2222
catalogLabelSelector:
2323
matchLabels:

docs/modules/trino/examples/usage-guide/trino-secure-internal-tls.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ metadata:
1717
name: simple-trino
1818
spec:
1919
image:
20-
productVersion: "455"
20+
productVersion: "470"
2121
clusterConfig:
2222
tls:
2323
internalSecretClass: trino-internal-tls # <1>

docs/modules/trino/examples/usage-guide/trino-secure-tls-only.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ metadata:
1717
name: simple-trino
1818
spec:
1919
image:
20-
productVersion: "455"
20+
productVersion: "470"
2121
clusterConfig:
2222
tls:
2323
serverSecretClass: trino-tls # <1>

docs/modules/trino/examples/usage-guide/trino-secure-tls.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ metadata:
1717
name: simple-trino
1818
spec:
1919
image:
20-
productVersion: "455"
20+
productVersion: "470"
2121
clusterConfig:
2222
tls:
2323
serverSecretClass: trino-tls # <1>

docs/modules/trino/pages/usage-guide/catalogs/index.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ metadata:
7373
name: simple-trino
7474
spec:
7575
image:
76-
productVersion: "455"
76+
productVersion: "470"
7777
clusterConfig:
7878
catalogLabelSelector:
7979
matchLabels:

docs/modules/trino/partials/supported-versions.adoc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,6 @@
22
// This is a separate file, since it is used by both the direct Trino documentation, and the overarching
33
// Stackable Platform documentation.
44

5+
- 470
56
- 455
67
- 451 (LTS)

examples/simple-trino-cluster-authentication-opa-authorization-s3.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ metadata:
55
name: simple-trino
66
spec:
77
image:
8-
productVersion: "455"
8+
productVersion: "470"
99
clusterConfig:
1010
authentication:
1111
- authenticationClass: simple-trino-users

examples/simple-trino-cluster-hive-ha-s3.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ metadata:
99
name: simple-trino
1010
spec:
1111
image:
12-
productVersion: "455"
12+
productVersion: "470"
1313
clusterConfig:
1414
catalogLabelSelector:
1515
matchLabels:

examples/simple-trino-cluster-resource-limits.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ metadata:
55
name: simple-trino
66
spec:
77
image:
8-
productVersion: "455"
8+
productVersion: "470"
99
clusterConfig:
1010
catalogLabelSelector: {}
1111
coordinators:

examples/simple-trino-cluster-s3.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ metadata:
77
name: simple-trino
88
spec:
99
image:
10-
productVersion: "455"
10+
productVersion: "470"
1111
clusterConfig:
1212
catalogLabelSelector:
1313
matchLabels:

examples/simple-trino-cluster.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ metadata:
55
name: simple-trino
66
spec:
77
image:
8-
productVersion: "455"
8+
productVersion: "470"
99
clusterConfig:
1010
catalogLabelSelector:
1111
matchLabels:

examples/simple-trino-oauth2.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ metadata:
9191
name: simple-trino
9292
spec:
9393
image:
94-
productVersion: "455"
94+
productVersion: "470"
9595
clusterConfig:
9696
authentication:
9797
- authenticationClass: simple-trino-oidc

0 commit comments

Comments
 (0)