Skip to content

Nessie 0.72.0

Compare
Choose a tag to compare
@github-actions github-actions released this 13 Oct 17:36
· 2661 commits to main since this release

Nessie 0.72.0 release

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 type BYTEA exists in the refs table
  • When using a Cassandra (compatible) database, ensure that the new column pref_ptr of type BLOB exists in the refs 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 the FROM 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)