Netflix/astyanax — pull request #351 by marko-asplund (2013-06-26 20:45:56+00:00)
Title: Workaround for issue #256

Here's a prototype of one approach for mitigating the side-effects of having cassandra-all.jar (and all of it's transitive dependencies) as a dependency in Astyanax.
This approach is based on the assumption that Astyanax only requires classes from Cassandra implementation that don't actually have runtime transitive dependencies or those dependencies are limited.
Is this a valid assumption?

An added benefit is that unwanted cassandra-all API dependencies can't be introduced in neither Astyanax nor the application without listing them explicitly.

I was able to reduce the footprint of a Cassandra 1.2 / CQL3 web application from 72 jars and 26 MB to 56 jars and 20 MB. CQL3 update and select operations seemed to work fine, but testing has not been extensive.

The classes list probably would still need to include more classes to work in other scenarios.