Nessie 0.72.0
·
2661 commits
to main
since this release
Nessie 0.72.0 release
- 80 commits since 0.71.1
- Maven Central: https://search.maven.org/search?q=g:org.projectnessie+v:0.72.0
- 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.72.0-java
- PyPI: https://pypi.org/project/pynessie/ (See pynessie)
- Helm Chart repo: https://charts.projectnessie.org/
Try it
The attached nessie-quarkus-0.72.0-runner.jar
is a standalone uber-jar file that runs on Java 11 or newer and it is also available via Maven Central. Download and run it (requires Java 11):
wget https://github.com/projectnessie/nessie/releases/download/nessie-0.72.0/nessie-quarkus-0.72.0-runner.jar
java -jar nessie-quarkus-0.72.0-runner.jar
Nessie GC tool is attached as nessie-gc-0.72.0
, which is an executable.
(chmod 744 nessie-gc-0.72.0
after download.)
Can also be run using java -jar nessie-gc-0.72.0
, because it is actually a Java archive.
Shell completion can be generated from the nessie-gc
tool.
The attached nessie-helm-0.72.0.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
New Features
- Spark SQL extensions now support the
DROP ... IF EXISTS
syntax for branches and tags. table-prefix
configuration option added to DynamoDB version store.- Ability to export repositories in V1 format. This is useful for migrating repositories to older
Nessie servers that do not support the new storage model. - Added support for Spark 3.5, removed support for Spark 3.1 - along with the version bump of Apache Iceberg to 1.4.0.
- Functionality that records current-HEAD changes of named references and APIs to expose the information.
This is useful to recover from a scenario when a "primary data center/region/zone" has been lost and
replication of a distributed database has been interrupted.
Upgrade notes
- When using a Postgres (compatible) database, ensure that the new column
prev_ptr
of typeBYTEA
exists in therefs
table - When using a Cassandra (compatible) database, ensure that the new column
pref_ptr
of typeBLOB
exists in therefs
table
Changes
- Introduces sizing of the Nessie object cache using a relative value of the max Java heap size.
The defaults have been changed to 70% of the Java max heap size (from the previous default of 64MB).
If a fixed cache size setting has been explicitly configured, consider to change it to the fraction based one. - Relative hashes are now supported in table references, thus allowing SQL queries to specify a relative hash
in theFROM
clause, e.g.FROM table1@main#1234^1
. - BigTable backend: ability to disable telemetry (which is enabled by default).
- Spark SQL extensions use Nessie API V2 now.
- DynamoDB backend now supports table prefixes.
- Advanced configuration options for BigTable backend.
Fixes
- Quarkus 3.4.3 includes a Netty version bump to address CVE-2023-44487 (HTTP/2 rapid reset). Note: Nessie uses undertow only for testing purposes, so the undertow release used in Nessie does not expose this CVE to users.
Full Changelog (minus renovate commits):
- Record previous HEADs of named references (#7607)
- Ninja: Changelog note wrt CVE-2023-44487, fixed via Quarkus 3.4.3
- Remove OTel workaround for tests (#7623)
- Nit: replace TODO with comment (#7624)
- CI/NesQuEIT: Switch Iceberg master->main (#7618)
- CI: Use Java 21 in "newer java versions" workflow (#7525)
- Workaround to run events-service tests with Java 21 (#7617)
- Tag all Nessie multi-environment tests (#7577)
- BigTable: reimplement scanAllObjects with server-side filtering (#7610)
- Spark 3.1 left-overs (#7612)
- Ninja: Changelog updates
- IntelliJ: Generate required classes (#7611)
- Update SQL extensions code to use API V2 (#7573)
- Bump Iceberg to 1.4.0, support Spark 3.5 (#7539)
- BigTable backend: ability to disable telemetry (#7597)
- Cassandra backend: remove ALLOW FILTERING when fetching objects (#7604)
- Ability to export repositories in V1 format (#7596)
- Add option for table prefix to DynamoDB (#7598)
- SQL extensions: add support for DROP IF EXISTS (#7570)
- Fix docs on website (#7559)
- Allow relative hashes in table references (#7565)
- CI: Remove Spark 3.1 from NesQuEIT job (removed in Iceberg 1.4) (#7564)
- Cleanup: explicitly annotate
ignoreUnknown
for types that allow this (#7561) - BigTable: custom channel-pool settings, make retry-timeout configurable (#7552)
- Add client-based test for request parameter validation (#7557)
- Fix Nessie java client groupId in docs (#7554)
- Docs: Update Metadata authorization (#7553)
- Remove unused type parameter in BigTablePersist.doBulkFetch (#7551)
- Store-cache: allow cache sizing based on max-heap-size (#7540)
- Configure BigTable client to use MAX_BULK_READS (#7548)
- BigTable: Use parallel reads for some objects to fetch (#7547)
- Combined Nessie server+client for testing (#7527)
- GH actions - allow fork of Nessie in
projectnessie
(#7529) - Bump Spark to 3.3.3/3.4.1 (#7538)
- Bump Scala 2.13 to 2.13.12 (#7537)
- CI/NesQuEIT: Change temp branch back to "normal" (#7534)
- Build: allow Spark/Java configuration for
JavaExec
as well (#7531)