You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardexpand all lines: Readme.markdown
+42-11
Original file line number
Diff line number
Diff line change
@@ -3,7 +3,24 @@ Astyanax
3
3
Astyanax is a high level Java client for [Apache Cassandra](http://cassandra.apache.org).
4
4
Apache Cassandra is a highly available column oriented database.
5
5
6
-
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). Fixes will be made for serious issues, but it is not under active development.
6
+
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).
7
+
Astyanax is no longer under active development, but may receive dependency updates to ease migration away from Astyanax.
8
+
9
+
In place of Astyanax consider using [DataStax Java Driver for Apache Cassandra](https://github.com/datastax/java-driver)
10
+
which is under active development and encapsulates a lot of lessons learned from Astyanax. The DataStax driver supports
11
+
only CQL protocol because Apache Cassandra 4.x drops the Thrift protocol. Switching to the DataStax driver requires
12
+
using CQL queries, but you'll still be able to access legacy column families via the CQL "with compact storage" option.
13
+
14
+
This version of Astyanax shades its dependency on cassandra-all so you can optionally select any version
15
+
of cassandra-unit you like for unit/integration testing with different versions of Cassandra. When upgrading to this
16
+
verion of Astyanax you may need to:
17
+
* Explicitly add any cassandra-all transitive dependencies you previously silently depended on via Astayanax transitives.
18
+
* If you were using internal features of Astyanax that (unintentionally) publicly exposed cassandra-all classes,
19
+
you must either:
20
+
* Option A (best): Migrate away from Astyanax to [DataStax Java Driver for Apache Cassandra](https://github.com/datastax/java-driver).
21
+
* Option B (second-best): Use only astyanax-core public interfaces (none of them expose cassandra-all classes).
22
+
* Option C: Switch your objects from "org.apache.cassandra" to the shaded "com.netflix.astyanax.shaded.org.apache.cassandra"
23
+
package Astyanax now depends on.
7
24
8
25
Artifacts
9
26
-------------------------------
@@ -12,19 +29,26 @@ Astyanax jars are published to Maven Central. As of astyanax 1.56.27 the projec
12
29
13
30
Required artifacts
14
31
15
-
|GroupID/Org|ArtifactID/Name|
16
-
| --------- | ------------- |
17
-
|com.netflix.astyanax|astyanax-core|
18
-
|com.netflix.astyanax|astyanax-thrift|
19
-
|com.netflix.astyanax|astyanax-cassandra|
32
+
|GroupID/Org|ArtifactID/Name|Desc|
33
+
| --------- | ------------- |----|
34
+
|com.netflix.astyanax|astyanax-thrift or astyanax-cql|Choose Thrift or CQL protocol. Note Cassandra 4.x+ drops support for Thrift protocol.|
35
+
36
+
Transitive artifacts (dependencies automatically added via a required artifact)
37
+
38
+
|GroupID/Org|ArtifactID/Name|Desc|
39
+
| --------- | ------------- |----|
40
+
|com.netflix.astyanax|astyanax-core|Astyanax's public interface.|
41
+
|com.netflix.astyanax|astyanax-cassandra|Cassandra-specific features shared by astyanax-thrift and astyanax-cql|
42
+
|com.netflix.astyanax|astyanax-cassandra-all-shaded|Shaded version of cassandra-all for the few classes used by astyanax-cassandra so projects are free to select arbitrary versions of cassandra-unit for unit/integration testing against newer versions of Cassandra. Hides Astyanax's dependency on cassandra-all by refactoring "org.apache.cassandra" classes to "com.netflix.astyanax.shaded.org.apache.cassandra".|
20
43
21
44
Optional artifacts
22
45
23
-
|GroupID/Org|ArtifactID/Name|
24
-
| --------- | ------------- |
25
-
|com.netflix.astyanax|astyanax-queue|
26
-
|com.netflix.astyanax|astyanax-entity-mapper|
27
-
|com.netflix.astyanax|astyanax-recipes|
46
+
|GroupID/Org|ArtifactID/Name|Desc|
47
+
| --------- | ------------- |----|
48
+
|com.netflix.astyanax|astyanax-contrib|Optional integration with other commonly-used Netflix OSS modules.|
49
+
|com.netflix.astyanax|astyanax-queue|Queue implementation backed by Cassandra storage. Use at your own risk -- Cassandra can be a *very bad* storage engine for queues. If you insist on using Cassandra for queues, set a very short TTL and use TimeWindowCompactionStrategy (TWCS).|
50
+
|com.netflix.astyanax|astyanax-entity-mapper||
51
+
|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).|
28
52
29
53
Features
30
54
--------
@@ -45,6 +69,13 @@ Documentation
45
69
-------------
46
70
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).
47
71
72
+
IntelliJ: currently (June 2018) IntelliJ has a bug which renders an "unfound" error for packages relocated via another
73
+
module in the same project (e.g. shaded classes from astyanax-cassandra-all-shaded).
74
+
This affects *only* the Astyanax project itself within IntelliJ; Astyanax still builds perfectly fine via Gradle.
75
+
Astyanax users are unaffected. For more details see:
0 commit comments