Skip to content

Commit

Permalink
Merge pull request #644 from chapj2001/dependency-update
Browse files Browse the repository at this point in the history
Update readme to match deprecation notice on astyanax/wiki
  • Loading branch information
chapj2001 committed Aug 24, 2018
2 parents 25dc132 + e748f96 commit 677b14a
Showing 1 changed file with 44 additions and 34 deletions.
78 changes: 44 additions & 34 deletions Readme.markdown
Original file line number Diff line number Diff line change
@@ -1,19 +1,23 @@
Astyanax
========
Astyanax is a high level Java client for [Apache Cassandra](http://cassandra.apache.org).
Apache Cassandra is a highly available column oriented database.

Astyanax is currently in use at [Netflix](http://movies.netflix.com), but is being [retired](https://medium.com/netflix-techblog/astyanax-retiring-an-old-friend-6cca1de9ac4).
Astyanax is no longer under active development, but may receive dependency updates to ease migration away from Astyanax.
Deprecation
-----------
Astyanax has been [retired](https://medium.com/netflix-techblog/astyanax-retiring-an-old-friend-6cca1de9ac4) and is no
longer under active development but may receive dependency updates to ease migration away from Astyanax.

In place of Astyanax consider using [DataStax Java Driver for Apache Cassandra](https://github.com/datastax/java-driver)
which is under active development and encapsulates a lot of lessons learned from Astyanax. The DataStax driver supports
only CQL protocol because Apache Cassandra 4.x drops the Thrift protocol. Switching to the DataStax driver requires
using CQL queries, but you'll still be able to access legacy column families via the CQL "with compact storage" option.
which is under active development and encapsulates a lot of lessons learned from Astyanax. Since the DataStax driver
supports only CQL protocol (because Apache Cassandra 4.x will drop the Thrift protocol), you’ll have to update all of
your Thrift-based queries to CQL queries.

You have the option to continue accessing legacy column families via the CQL “with compact storage” option. However in
most (all?) use cases the legacy compact storage option actually takes more space than the new default CQL storage
option, so you’re really better off also migrating your data to the new default storage option.

This version of Astyanax shades its dependency on cassandra-all so you can optionally select any version
of cassandra-unit you like for unit/integration testing with different versions of Cassandra. When upgrading to this
verion of Astyanax you may need to:
version of Astyanax you may need to:
* Explicitly add any cassandra-all transitive dependencies you previously silently depended on via Astayanax transitives.
* If you were using internal features of Astyanax that (unintentionally) publicly exposed cassandra-all classes,
you must either:
Expand All @@ -22,6 +26,38 @@ you must either:
* Option C: Switch your objects from "org.apache.cassandra" to the shaded "com.netflix.astyanax.shaded.org.apache.cassandra"
package Astyanax now depends on.

Overview
--------
Astyanax is a high level Java client for [Apache Cassandra](http://cassandra.apache.org).
Apache Cassandra is a highly available column oriented database.

Features
--------
A quick overview can be found at the [Netflix Tech Blog](http://techblog.netflix.com/2012/01/announcing-astyanax.html). Some features provided by this client:

* High level, simple object oriented interface to Cassandra.
* Fail-over behavior on the client side.
* Connection pool abstraction. Implementation of a round robin connection pool.
* Monitoring abstraction to get event notification from the connection pool.
* Complete encapsulation of the underlying Thrift API and structs.
* Automatic retry of downed hosts.
* Automatic discovery of additional hosts in the cluster.
* Suspension of hosts for a short period of time after several timeouts.
* Annotations to simplify use of composite columns.


Documentation
-------------
Detailed documentation of Astyanax's features and usage can be found on the [wiki](https://github.com/Netflix/astyanax/wiki) and the [getting started guide](https://github.com/Netflix/astyanax/wiki/Getting-Started).

IntelliJ: currently (June 2018) IntelliJ has a bug which renders an "unfound" error for packages relocated via another
module in the same project (e.g. shaded classes from astyanax-cassandra-all-shaded).
This affects *only* the Astyanax project itself within IntelliJ; Astyanax still builds perfectly fine via Gradle.
Astyanax users are unaffected. For more details see:

* [https://github.com/johnrengelman/shadow/issues/264](https://github.com/johnrengelman/shadow/issues/264)
* [https://youtrack.jetbrains.com/issue/IDEA-163411](https://youtrack.jetbrains.com/issue/IDEA-163411)

Artifacts
-------------------------------

Expand Down Expand Up @@ -50,32 +86,6 @@ Optional artifacts
|com.netflix.astyanax|astyanax-entity-mapper||
|com.netflix.astyanax|astyanax-recipes|Optional implementations of some common patterns. Use at your own risk; some of these are popular but not well-suite for Cassandra for many use cases (looking at you, AllRowsReader).|

Features
--------
A quick overview can be found at the [Netflix Tech Blog](http://techblog.netflix.com/2012/01/announcing-astyanax.html). Some features provided by this client:

* High level, simple object oriented interface to Cassandra.
* Fail-over behavior on the client side.
* Connection pool abstraction. Implementation of a round robin connection pool.
* Monitoring abstraction to get event notification from the connection pool.
* Complete encapsulation of the underlying Thrift API and structs.
* Automatic retry of downed hosts.
* Automatic discovery of additional hosts in the cluster.
* Suspension of hosts for a short period of time after several timeouts.
* Annotations to simplify use of composite columns.


Documentation
-------------
Detailed documentation of Astyanax's features and usage can be found on the [wiki](https://github.com/Netflix/astyanax/wiki) and the [getting started guide](https://github.com/Netflix/astyanax/wiki/Getting-Started).

IntelliJ: currently (June 2018) IntelliJ has a bug which renders an "unfound" error for packages relocated via another
module in the same project (e.g. shaded classes from astyanax-cassandra-all-shaded).
This affects *only* the Astyanax project itself within IntelliJ; Astyanax still builds perfectly fine via Gradle.
Astyanax users are unaffected. For more details see:

* [https://github.com/johnrengelman/shadow/issues/264](https://github.com/johnrengelman/shadow/issues/264)
* [https://youtrack.jetbrains.com/issue/IDEA-163411](https://youtrack.jetbrains.com/issue/IDEA-163411)

Ancient History
---------------
Expand Down

0 comments on commit 677b14a

Please sign in to comment.