-
Notifications
You must be signed in to change notification settings - Fork 353
Cassandra compatibility
Astyanax uses a versioning scheme that is internal to Netflix and does not match the Cassandra versioning scheme. The below table provides a mapping from astyanax version to cassandra version.
Astyanax | Cassandra |
---|---|
2.0.x | 1.2 - 2.0 |
1.56.26 ... 1.56.34 | 1.1 - 1.2 |
1.0.4 ... 1.56.25 | 1.1 |
1.0.0 ... 1.0.3 | 1.0.8 |
... 0.8.11 | 0.8.6 |
Astyanax is compatible with all cassandra versions up to and including 1.2
Cassandra provides good backwards compatibility for the thrift API when migrating from 1.1 to 1.2 with the exception of CQL3 which in 1.2 must be called via a new thrift API. Astyanax supports both versions but must be told which version of cassandra the client is talking to in order to invoke the correct API. If you are not using CQL3 then Astyanax will work with any version of cassandra without any code changes. If you are using CQL3 Astyanax will by default work with Cassandra 1.1. To enable Astyanax for cassandra 1.2 you will need to specify the cassandra version as follows,
AstyanaxContext<Keyspace> keyspaceContext = new AstyanaxContext.Builder()
... // other config options
.withAstyanaxConfiguration(
new AstyanaxConfigurationImpl()
.setTargetCassandraVersion("1.2")
.setCqlVersion("3.0.0")
... // other config options
)
.buildKeyspace(ThriftFamilyFactory.getInstance());
Astyanax does not yet support this protocol
A Netflix Original Production
Tech Blog | Twitter @NetflixOSS | Jobs
- Getting-Started
- Configuration
- Features
- Monitoring
- Thread Safety
- Timeouts
- Recipes
- Examples
- Javadoc
- Utilities
- Cassandra-Compatibility
- FAQ
- End-to-End Examples
- Astyanax Integration with Java Driver