- 161 commits since 0.108.4
- Maven Central: https://search.maven.org/search?q=g:org.projectnessie.nessie+v:0.108.8
- Docker images: https://github.com/projectnessie/nessie/pkgs/container/nessie and https://quay.io/repository/projectnessie/nessie?tab=tags
It is a multiplatform Java image (amd64, arm64, ppc64le, s390x):docker pull ghcr.io/projectnessie/nessie:0.108.8-java - PyPI: https://pypi.org/project/pynessie/ (See pynessie)
- Helm Chart repo: https://charts.projectnessie.org/
Try it
The attached nessie-quarkus-0.108.8-runner.jar is a standalone uber-jar file that runs on Java 17 or newer and it is also available via Maven Central. Download and run it (requires Java 17):
wget https://github.com/projectnessie/nessie/releases/download/nessie-0.108.8/nessie-quarkus-0.108.8-runner.jar
java -jar nessie-quarkus-0.108.8-runner.jar
Nessie CLI is attached as nessie-cli-0.108.8.jar, which is a standalone uber-jar file that runs on Java 11 or newer. Nessie CLI is also available as a Docker image: docker run --rm -it ghcr.io/projectnessie/nessie-cli:0.108.8.
Nessie GC tool is attached as nessie-gc-0.108.8.jar, which is a standalone uber-jar file that runs on Java 11 or newer. Shell completion can be generated from the tool, check its help command. Nessie GC tool is also available as a Docker image: docker run --rm ghcr.io/projectnessie/nessie-gc:0.108.8 --help.
Nessie Server Admin tool is attached as nessie-server-admin-tool-0.108.8-runner.jar, which is a standalone uber-jar file that runs on Java 17 or newer. Shell completion can be generated from the tool, check its help command. Nessie Server Admin tool is also available as a Docker image: docker run --rm ghcr.io/projectnessie/nessie-server-admin:0.108.8 --help.
The attached nessie-helm-0.108.8.tgz is a packaged Helm chart, which can be downloaded and installed via Helm. There is also the Nessie Helm chart repo, which can be added and used to install the Nessie Helm chart.
Changelog
Upgrade notes
- Catalog/GCS: Down-scoped credentials, enabled via
nessie.catalog.service.gcs.default-options.downscoped-credentials.enable, were not functional and
failed every credential-vending request. They work now. Vended credentials are scoped to a table's
location, so they do not cover tables usingwrite.object-storage.enabled=true, which writes data
files under a randomized prefix that Credential Access Boundary conditions cannot express. Do not
enable down-scoped credentials for warehouses whose tables use that layout. - BigTable: the gRPC channel pool is no longer capped at a single channel by default. Deployments
that relied on the previous (unintended) behavior and have sized their BigTable instance around
one connection per Nessie instance may see more concurrent connections to BigTable. The previous
behavior can be restored by setting
nessie.version.store.persist.bigtable.initial-channel-count=1together with
nessie.version.store.persist.bigtable.max-channel-count=1, although this is not recommended.
New Features
- Helm chart: the BigTable gRPC channel pool settings can now be configured via the new
bigtable.channelPoolvalues, instead of having to go throughadvancedConfig.
Fixes
- Catalog/GCS: Fix down-scoped credentials, which failed for every request. The source credential was
not scoped, so Google's token exchange rejected it withinvalid_scope, and the generated Credential
Access Boundary conditions used CELmatches(), which Google's IAM CEL implementation does not
support. - Catalog/GCS: Vended credentials scoped to a table location no longer grant access to sibling
locations whose name starts with the same characters, for example a credential for
warehouse/ordersgranting access towarehouse/orders2. - BigTable: unset channel pool settings are no longer taken from GAX's generic defaults, but from
the settings tuned by the BigTable client library. The GAX defaults
(min-rpcs-per-channel=0andmax-rpcs-per-channel=Integer.MAX_VALUE) made the channel pool
statically sized, which prevented gax from ever resizing it and pinned it to a single channel for
the lifetime of the client. Since gRPC starts queuing requests locally beyond 100 concurrent RPCs
per channel, this silently capped BigTable throughput per Nessie instance and surfaced as
DEADLINE_EXCEEDEDerrors under load, once the local queuing had exhausted a request's total
timeout.
Full Changelog (minus renovate commits):
- Remove inomplete releases from releases page
- Remove incomplete releases from site
- remove incomplete releases from CHANGELOG.md
- Fix publication again
- Fix Maven publication (#12994)
- Fix Spark artifacts in NMCP aggregation (#12990)
- Add another BSD-3-clause license pattern (#12989)
- Update license mentions (#12986)
- BigTable: don't collapse the gRPC channel pool to a single channel (#12917)
- Catalog/GCS: fix down-scoped credentials failing on every request (#12901)
- Fix publishing (#12916)
- Make NMCP work with the configuration cache (#12764)
- Add SQL Server dialect for the JDBC2 persist backend (#12885)
- Fix incorrect CLI command descriptions (#12873)
- Fix invalid git clone URL in try-nessie guide (#12874)