NB5 Docs► Release Notes▼ What's New - NB5 🖺

Updates in Progress

👉 The docs are presently being rewritten to support NoSQLBench v5.17.x, based on Java LTS 17. The next major release will be v5.21, based on Java LTS 21. 👈

Welcome to NB5! This release represents a massive leap forward. There are so many improvements that should have gone into smaller releases along the way, but here we are. We've had our heads down, focusing on new APIs, porting drivers, and fixing bugs, but it's time to talk about the new stuff!

For those who are experienced NB5 users, this will have few (but some!) surprises. For those of you who are NB (4 or earlier) users, NB5 is a whole different kind of testing tool. The changes allow for a much more streamlined user and developer experience, while also offering additional capabilities never seen together in a systems testing tool.

Everything mentioned here will find its way into the main docs site before were done.

We've taken some care to make sure that there is support for earlier workloads where at all possible. If we've missed something critical, please let us know, and we'll patch it up ASAP.

This is a narrative overview of changes for NB5 in general. Individual releases will have itemized code changes listed individually.

Artifacts

nb5

The main bundled artifact is now named nb5. This version of NoSQLBench is a significant departure from the previous limitations and conventions, so a new name was fitting. It also allows you to easily have both on your system if you are maintaining test harnesses. This is a combination of the NoSQLBench core runtime module nbr and all the bundled driver adapters which have been contributed to the project.

Packaging

The code base for nb5 is more modular and adaptable. The core runtime module nbr is now separate, including only the core diagnostic driver which is used in integration tests. This allows for leaner and meaner integration tests.

drivers

We've ported many drivers to the nb5 APIs. All CQL support is now being provided by Datastax Java Driver for Apache Cassandra. In addition, multiple contributors are stepping up to provide new drivers for many systems across the NoSQL ecosystem.

Project

Significant changes were made for the benefit of both users and developers.

Team

We've expanded the developer team which maintains tools like NoSQLBench. This should allow us to make improvements faster, focus on users more, and bring more strategic capabilities to the project which can redefine how advanced testing is done.

WYSiWYG Docs

We've connected the integration and specification tests to the documentation in a way that ties examples everything together. If the examples and integration tests that are used on this site fail, the build fails. Otherwise, the most recent examples are auto exported from the main code base to the docs site. This means that test coverage will improve examples in the docs, which will stay constantly up to date. Expect coverage of this method to improve with each release. Until we can say What You See Is What You Get across all nb5 functions and examples, we're not done yet.

Releases

Going forward we'll enforce stricter release criteria. Interim releases will be flagged as prerelease unless due diligence checks have been done and a peer review finds a prerelease suitable for promotion to a main release. Once flagged as a normal release, CI/CD tools can pick up the release from the github releases area automatically.

We have a set of release criteria which will be published to this site and used as a blueprint for releases going forward. More information on how releases are managed can be found in our Contributing section. This will include testing coverage, static analysis, and further integrated testing support.

Documentation

This doc site is a significant step up from the previous version. It is now more accessible, more standards compliant, and generally more user-friendly. The dark theme is highly usable. Syntax highlighting is much easier on the eyes, and page navigation works better! The starting point for this site was provided by the abridge theme by Jieiku.

Architecture

The impetus for a major new version of NoSQLBench came from user and developer needs. In order to provide a consistent user experience across a variety of testing needs, the core machinery needed an upgrade. The APIs for building drivers and features have been redesigned to this end, resulting in a vast improvement for all who use or maintain nb5 core or drivers.

These benefits include:

The amount of Standard you see in this list is directly related to the burden removed from both nb5 users and project contributors.

Some highlights of these will be described below, with more details in the user guide.

Ergonomics

Console

Discovery

Configuration

Templating

Much of the power of NB5 is illustrated in the new ways you can template workloads. This includes structured data, dynamic op configuration, and driver instancing, to name a few.

Misc Improvements

(some carry over from pre-nb5 features)

Deprecations and Standards

Works In Progress

Back to top