DataStax Developer Blog

Node.js Driver Adds Support for Cassandra 3.0

By Jorge Bay Gondra -  December 14, 2015 | 0 Comments

Version 3.0.0 of the DataStax Node.js driver is now available with support for Apache Cassandra 3.0.

The main focus for this release was to add support for the changes in the schema metadata introduced in Cassandra 3.0 that is used internally by the driver. Additionally, we exposed Materialized Views metadata information and introduced a new Index metadata API.

We also made other improvements to the driver.

Stream Throttling and Manual Paging

Client#stream() now features throttling. When retrieving large result sets that spans across multiple pages of rows, the driver will make the request for the following rows once the previous rows have been read from the stream.
Client#eachRow() result now exposes a nextPage function to trigger the request for the following page reusing the same callbacks, as an option to manually retrieve the following pages without having to deal with pageState.
You can read more about retrieving large result sets and paging in the Node.js driver in the documentation.

Performance Improvements

The driver now includes message coalescing, making less syscalls in highly concurrent scenarios. We also added some small performance improvements like avoiding expensive javascript calls in the common execution path. You can read more on the tickets: NODEJS-142, NODEJS-130, NODEJS-198, and NODEJS-200.

A complete list of changes can be found on the changelog.

Looking Forward

Up until now, in the Node.js driver we were using version numbers to denote compatibility with Apache Cassandra. This is a good way to avoid doubts about which driver versions supported Cassandra versions but it constrained us to deliver major/breaking changes to the driver API independently from Cassandra.

For future versions, we decided to move to pure semantic versioning.

As you may already know, when adding support for newer Cassandra / DSE versions in the Node.js driver, compatibility with earlier Cassandra versions were always maintained. This will continue to be the case.

Your feedback is important to us and it influences our priorities. To provide feedback use the following:



Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>