Nessie 0.100.0
- 252 commits since 0.99.0
- Maven Central: https://search.maven.org/search?q=g:org.projectnessie.nessie+v:0.100.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.100.0-java
- PyPI: https://pypi.org/project/pynessie/ (See pynessie)
- Helm Chart repo: https://charts.projectnessie.org/
Try it
The attached nessie-quarkus-0.100.0-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.100.0/nessie-quarkus-0.100.0-runner.jar
java -jar nessie-quarkus-0.100.0-runner.jar
Nessie CLI is attached as nessie-cli-0.100.0.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.100.0
.
Nessie GC tool is attached as nessie-gc-0.100.0.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.100.0 --help
.
Nessie Server Admin tool is attached as nessie-server-admin-tool-0.100.0-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.100.0 --help
.
The attached nessie-helm-0.100.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
Upgrade notes
- Helm chart: the old
logLevel
field has been replaced with a newlog
section with many more
options to configure logging. You can now configure console- and file-based logging separately. It
is also possible to enable JSON logging instead of plain text (but this feature requires Nessie >=
0.99.1). For file-based logging, it is also possible to configure rotation and retention policies,
and a persistent volume claim is now automatically created when file-based logging is enabled.
Furthermore, Sentry integration can also be enabled and configured. And finally, it is now
possible to configure the log level for specific loggers, not just the root logger. The old
logLevel
field is still supported, but will be removed in a future release.
Changes
- The persistence cache tries to avoid deserialization overhead when getting an object from the
cache by using Java'sSoftReference
. There is no guarantee that cached objects keep their
Java object tree around, but it should eventually for the majority of accesses to frequently
accessed cached objects. The default cache capacity fraction has been reduced from 70% of the
heap size to 60% of the heap size. However, extreme heap pressure may let Java GC clear all
SoftReference
s. - Sends the following default options, which are convenient when using pyiceberg:
py-io-impl=pyiceberg.io.fsspec.FsspecFileIO
s3.signer=S3V4RestSigner
when S3 signing is being used
- Iceberg REST: No longer return
*FileIO
options from the Iceberg REST config endpoint
Fixes
- GC: Consider referenced statistics (and partition statistics) files as 'live'.
- JDBC: Perform JDBC commit when auto-creating tables to please transactional schema changes.
Full Changelog (minus renovate commits):
- Catalog/Iceberg: support new
remove-partition-specs
metadata-update (#9906) - Testing/Docker: use exact version for C* images (#9908)
- Catalog: Fix "load credendials" model (#9907)
- Catalog: add new model and api (#9905)
- Refactor Nessie's HTTP authentication (Quarkus 3.16 prep) (#9863)
- Catalog/S3,GCS: Adopt IAM policies to new object-storage layout (Iceberg 1.7.0) (#9897)
- Catalog/config: add endpoints to config response (Iceberg 1.7.0) (#9895)
- Testing: disable looking up GCP credentials (#9900)
- JDBC: commit after DDL setup + more info (#9901)
- GC: consider statistics files (#9898)
- Catalog/S3: Adopt S3 signing to new object-storage layout (Iceberg 1.7.0) (#9896)
- Revert "Prevent tracing initialization race (Quarkus 3.16 prep) (#9866)" (#9899)
- [Catalog] Do not return
*FileIO
options from the Iceberg REST config endpoint (#9642) - Send s3-signer only when signing is enabled (#9869)
- Prevent tracing initialization race (Quarkus 3.16 prep) (#9866)
- Remove
@Nested
from a Quarkus test (Quarkus 3.16 prep) (#9865) - Adopt
AmazonSecretsManagerBuilder
(Quarkus 3.16 prep) (#9864) - Convenience for pyiceberg (#9868)
- Build only: Prefer Maven Local if enabled (#9861)
- Build/internal/NesQuEIT: enforce no colon
:
fornessieProject()
(#9842) - Docs: update troubleshooting guide with recent UID/GID changes (#9783)
- Helm chart: add
extraInitContainers
value (#9773) - fix/keycloak-v26-deprecated-vars (#9778)
- Helm chart: redesign logging options (#9775)
- Fix some IDE warnings, remove unused code (#9772)
- server-admin-tool intTest: Re-add
forkEvery
(#9762) - Remove validatation annotations from static functions (#9761)
- Do not access Apache snapshots repository by default (#9754)
- Transfer/related: make
CoreTransferRelatedObjects
generally accessible (#9752) - Persist: introduce
deleteWithReferenced(Obj)
(#9731) - ReferenceLogic: parameterized purge of the commit log of a
Reference
(#9735) - Add convenience functionality to get all storage locations defined in
LakehouseConfig
(#9742) - More verbose "Unauthorized signing request" warnings (#9743)
- Move catalog-config types to separate module (#9741)
- Site: fix formatting in
Time travel with Iceberg REST
chapter (#9732) - Docker compose: enhance all-in-one example with Spark SQL and Nessie CLI (#9719)
- Helm chart: explicitly include namespace in created resources (#9711)
- Let
Persist.scanAllObjects()
accept an empty set to return all object types (#9687) - Make the composite
TransferRelatedObjects
accessible to other projects (#9689) - Events SPI: load implementations via CDI (#9696)
- Events RI: use Quarkus Messaging extension (#9686)
- Fix
ObjId.longAt()
for non-256-bit object IDs (#9685) - Fix deprecation of
o.t.containers.CassandraContainer
+KafkaContainer
(#9680) - Replace deprecated
Aws4Signer
withAwsV4HttpSigner
(#9681) - Cache: keep (deserialized) object around (#9648)
- Patch version bumps of Scala + Spark 3.5 (#9667)
- Fix running
nessie-quarkus
instructions (#9668) - Update Docker Compose instructions in Getting Started guide (#9662)
- Helm chart: remove bogus default value for oidcAuthServerUrl (#9654)
- Events API: test JSON serde with views (#9645)
- Events RI: add example with JSON serialization (#9639)