Skip to content

Commit 2b01410

Browse files
authored
Merge pull request #640 from chapj2001/dependency-update
Dependency update to ease transition from Astyanax to DataStax Java Driver for Apache Cassandra.
2 parents 88da938 + 8c86939 commit 2b01410

File tree

76 files changed

+860
-441
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

76 files changed

+860
-441
lines changed

Readme.markdown

+42-11
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,24 @@ Astyanax
33
Astyanax is a high level Java client for [Apache Cassandra](http://cassandra.apache.org).
44
Apache Cassandra is a highly available column oriented database.
55

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.
724

825
Artifacts
926
-------------------------------
@@ -12,19 +29,26 @@ Astyanax jars are published to Maven Central. As of astyanax 1.56.27 the projec
1229

1330
Required artifacts
1431

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".|
2043

2144
Optional artifacts
2245

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).|
2852

2953
Features
3054
--------
@@ -45,6 +69,13 @@ Documentation
4569
-------------
4670
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).
4771

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:
76+
77+
* [https://github.com/johnrengelman/shadow/issues/264](https://github.com/johnrengelman/shadow/issues/264)
78+
* [https://youtrack.jetbrains.com/issue/IDEA-163411](https://youtrack.jetbrains.com/issue/IDEA-163411)
4879

4980
Ancient History
5081
---------------
+41
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
/**
2+
* Shaded version of cassandra-all for the few classes used by astyanax-cassandra. Shading frees projects to select
3+
* arbitrary versions of cassandra-unit for unit/integration testing against newer versions of Cassandra.
4+
* Hides Astyanax's dependency on cassandra-all by refactoring "org.apache.cassandra" classes to
5+
* "com.netflix.astyanax.shaded.org.apache.cassandra".
6+
*/
7+
8+
plugins {
9+
id 'com.github.johnrengelman.plugin-shadow' version '2.0.3'
10+
id 'java'
11+
}
12+
13+
print "Shading cassandra-all for cassandraVersion=${cassandraVersion}\n"
14+
15+
dependencies {
16+
compile ("org.apache.cassandra:cassandra-all:$cassandraVersion") {
17+
// Exclude all those heavy transitive dependencies because Astyanax doesn't need them
18+
transitive = false
19+
}
20+
}
21+
22+
shadowJar {
23+
// Don't append default "-all" to end of shaded jar name.
24+
classifier = ''
25+
26+
// Add only the shaded cassandra-all classes
27+
dependencies {
28+
include(
29+
dependency('org.apache.cassandra:cassandra-all::.*')
30+
)
31+
}
32+
33+
// Shaded/rename cassandra-all class packages
34+
relocate("org.apache.cassandra", "com.netflix.astyanax.shaded.org.apache.cassandra")
35+
}
36+
37+
tasks.build.dependsOn(shadowJar)
38+
39+
// Create only the shadow jar containing the shaded classes
40+
tasks.jar.setEnabled(false)
41+
tasks.jar.dependsOn(tasks.shadowJar)

astyanax-cassandra/build.gradle

+9-9
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,19 @@
11
apply plugin: 'osgi'
22

3+
/**
4+
* Cassandra-specific features shared by astyanax-thrift and astyanax-cql.
5+
*/
36
dependencies {
4-
compile project(':astyanax-core')
5-
compile ("org.apache.cassandra:cassandra-all:$cassandraVersion") {
6-
force = true
7-
transitive = false
8-
}
7+
compile project(':astyanax-core')
8+
9+
// Shaded version of cassandra-all for the few simple classes Astyanax actually uses.
10+
// Also excludes cassandra-all's transitive dependencies.
11+
compile project(path: ':astyanax-cassandra-all-shaded', configuration: 'shadow')
12+
913
compile "org.xerial.snappy:snappy-java:$snappyVersion"
1014
compile "org.codehaus.jackson:jackson-mapper-asl:$jacksonVersion"
11-
compile "org.apache.cassandra:cassandra-thrift:$cassandraThriftVersion"
1215
compile "org.apache.servicemix.bundles:org.apache.servicemix.bundles.commons-csv:$commonsCsvVersion"
1316
compile "org.codehaus.jettison:jettison:$jettisonVersion"
1417
compile "commons-codec:commons-codec:$commonsCodecVersion"
1518
compile "org.slf4j:slf4j-api:$slf4jVersion"
16-
testCompile "junit:junit:$junitVersion"
1719
}
18-
19-

astyanax-cassandra/src/main/java/com/netflix/astyanax/impl/AstyanaxConfigurationImpl.java

+4-2
Original file line numberDiff line numberDiff line change
@@ -53,9 +53,11 @@ public class AstyanaxConfigurationImpl implements AstyanaxConfiguration {
5353
private int maxThriftSize = 16384000;
5454

5555
public AstyanaxConfigurationImpl() {
56-
partitioners.put(org.apache.cassandra.dht.RandomPartitioner.class.getCanonicalName(), BigInteger127Partitioner.get());
56+
partitioners.put("org.apache.cassandra.dht.RandomPartitioner",
57+
BigInteger127Partitioner.get());
5758
try {
58-
partitioners.put(org.apache.cassandra.dht.Murmur3Partitioner.class.getCanonicalName(), Murmur3Partitioner.get());
59+
partitioners.put("org.apache.cassandra.dht.Murmur3Partitioner",
60+
Murmur3Partitioner.get());
5961
}
6062
catch (NoClassDefFoundError exception) {
6163
// We ignore this for backwards compatiblity with pre 1.2 cassandra.

astyanax-cassandra/src/main/java/com/netflix/astyanax/model/AbstractComposite.java

+1-2
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,7 @@
2727
import java.util.Map;
2828
import java.util.logging.Logger;
2929

30-
import org.apache.cassandra.utils.ByteBufferUtil;
31-
30+
import com.netflix.astyanax.shaded.org.apache.cassandra.utils.ByteBufferUtil;
3231
import com.google.common.collect.BiMap;
3332
import com.google.common.collect.ImmutableBiMap;
3433
import com.google.common.collect.ImmutableClassToInstanceMap;

astyanax-cassandra/src/main/java/com/netflix/astyanax/partitioner/BigInteger127Partitioner.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
import java.util.Iterator;
2222
import java.util.List;
2323

24-
import org.apache.cassandra.dht.RandomPartitioner;
24+
import com.netflix.astyanax.shaded.org.apache.cassandra.dht.RandomPartitioner;
2525

2626
import com.google.common.collect.Lists;
2727
import com.netflix.astyanax.Serializer;

astyanax-cassandra/src/main/java/com/netflix/astyanax/partitioner/Murmur3Partitioner.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,8 @@ public class Murmur3Partitioner implements Partitioner {
3232

3333
public static final BigInteger ONE = new BigInteger("1");
3434

35-
private static final org.apache.cassandra.dht.Murmur3Partitioner partitioner = new org.apache.cassandra.dht.Murmur3Partitioner();
35+
private static final com.netflix.astyanax.shaded.org.apache.cassandra.dht.Murmur3Partitioner partitioner =
36+
new com.netflix.astyanax.shaded.org.apache.cassandra.dht.Murmur3Partitioner();
3637
private static final Murmur3Partitioner instance = new Murmur3Partitioner();
3738

3839
public static Partitioner get() {

astyanax-cassandra/src/main/java/com/netflix/astyanax/serializers/AsciiSerializer.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
import java.nio.ByteBuffer;
1919
import java.nio.charset.Charset;
2020

21-
import org.apache.cassandra.db.marshal.AsciiType;
21+
import com.netflix.astyanax.shaded.org.apache.cassandra.db.marshal.AsciiType;
2222

2323
/**
2424
* Almost identical to StringSerializer except we use the US-ASCII character set

astyanax-cassandra/src/main/java/com/netflix/astyanax/serializers/BigDecimalSerializer.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
import java.math.BigDecimal;
1919
import java.nio.ByteBuffer;
2020

21-
import org.apache.cassandra.db.marshal.DecimalType;
21+
import com.netflix.astyanax.shaded.org.apache.cassandra.db.marshal.DecimalType;
2222

2323
public class BigDecimalSerializer extends AbstractSerializer<BigDecimal> {
2424

astyanax-cassandra/src/main/java/com/netflix/astyanax/serializers/BigIntegerSerializer.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
import java.math.BigInteger;
1919
import java.nio.ByteBuffer;
2020

21-
import org.apache.cassandra.db.marshal.IntegerType;
21+
import com.netflix.astyanax.shaded.org.apache.cassandra.db.marshal.IntegerType;
2222

2323
/**
2424
* Serializer implementation for BigInteger

astyanax-cassandra/src/main/java/com/netflix/astyanax/serializers/BooleanSerializer.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717

1818
import java.nio.ByteBuffer;
1919

20-
import org.apache.cassandra.db.marshal.BooleanType;
20+
import com.netflix.astyanax.shaded.org.apache.cassandra.db.marshal.BooleanType;
2121

2222
/**
2323
* Converts bytes to Boolean and vice versa

astyanax-cassandra/src/main/java/com/netflix/astyanax/serializers/ByteBufferSerializer.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
import java.util.List;
2020
import java.util.Map;
2121

22-
import org.apache.cassandra.db.marshal.BytesType;
22+
import com.netflix.astyanax.shaded.org.apache.cassandra.db.marshal.BytesType;
2323

2424
/**
2525
* The BytesExtractor is a simple identity function. It supports the Extractor

astyanax-cassandra/src/main/java/com/netflix/astyanax/serializers/ByteSerializer.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717

1818
import java.nio.ByteBuffer;
1919

20-
import org.apache.cassandra.db.marshal.IntegerType;
20+
import com.netflix.astyanax.shaded.org.apache.cassandra.db.marshal.IntegerType;
2121

2222
public class ByteSerializer extends AbstractSerializer<Byte> {
2323

astyanax-cassandra/src/main/java/com/netflix/astyanax/serializers/BytesArraySerializer.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717

1818
import java.nio.ByteBuffer;
1919

20-
import org.apache.cassandra.db.marshal.BytesType;
20+
import com.netflix.astyanax.shaded.org.apache.cassandra.db.marshal.BytesType;
2121

2222
import com.netflix.astyanax.Serializer;
2323

astyanax-cassandra/src/main/java/com/netflix/astyanax/serializers/ComparatorType.java

+33-31
Original file line numberDiff line numberDiff line change
@@ -15,45 +15,43 @@
1515
*/
1616
package com.netflix.astyanax.serializers;
1717

18-
import com.netflix.astyanax.*;
18+
import com.netflix.astyanax.Serializer;
19+
import com.netflix.astyanax.shaded.org.apache.cassandra.db.marshal.ShadedTypeParser;
20+
21+
import static com.netflix.astyanax.shaded.org.apache.cassandra.db.marshal.ShadedTypeParser.SHADED_PREFIX;
1922

2023
/**
2124
* @author: peter
2225
*/
2326
public enum ComparatorType {
2427

25-
ASCIITYPE("org.apache.cassandra.db.marshal.AsciiType", AsciiSerializer.get()),
26-
BYTESTYPE("org.apache.cassandra.db.marshal.BytesType", ByteBufferSerializer.get()),
27-
INTEGERTYPE("org.apache.cassandra.db.marshal.IntegerType", BigIntegerSerializer.get()),
28-
INT32TYPE("org.apache.cassandra.db.marshal.Int32Type", Int32Serializer.get()),
29-
DECIMALTYPE("org.apache.cassandra.db.marshal.DecimalType", BigDecimalSerializer.get()),
30-
LEXICALUUIDTYPE("org.apache.cassandra.db.marshal.LexicalUUIDType", UUIDSerializer.get()),
31-
LOCALBYPARTITIONERTYPE("org.apache.cassandra.db.marshal.LocalByPartionerType", ByteBufferSerializer.get()), // FIXME
32-
LONGTYPE("org.apache.cassandra.db.marshal.LongType", LongSerializer.get()),
33-
TIMEUUIDTYPE("org.apache.cassandra.db.marshal.TimeUUIDType", TimeUUIDSerializer.get()),
34-
UTF8TYPE("org.apache.cassandra.db.marshal.UTF8Type", StringSerializer.get()),
35-
COMPOSITETYPE("org.apache.cassandra.db.marshal.CompositeType", CompositeSerializer.get()),
36-
DYNAMICCOMPOSITETYPE("org.apache.cassandra.db.marshal.DynamicCompositeType", DynamicCompositeSerializer.get()),
37-
UUIDTYPE("org.apache.cassandra.db.marshal.UUIDType", UUIDSerializer.get()),
38-
COUNTERTYPE("org.apache.cassandra.db.marshal.CounterColumnType", LongSerializer.get()),
39-
DOUBLETYPE("org.apache.cassandra.db.marshal.DoubleType", DoubleSerializer.get()),
40-
FLOATTYPE("org.apache.cassandra.db.marshal.FloatType", FloatSerializer.get()),
41-
BOOLEANTYPE("org.apache.cassandra.db.marshal.BooleanType", BooleanSerializer.get()),
42-
DATETYPE("org.apache.cassandra.db.marshal.DateType", DateSerializer.get()),
43-
REVERSEDTYPE("org.apache.cassandra.db.marshal.ReversedType", ReversedSerializer.get());
28+
ASCIITYPE(SHADED_PREFIX + "org.apache.cassandra.db.marshal.AsciiType", AsciiSerializer.get()),
29+
BYTESTYPE(SHADED_PREFIX + "org.apache.cassandra.db.marshal.BytesType", ByteBufferSerializer.get()),
30+
INTEGERTYPE(SHADED_PREFIX + "org.apache.cassandra.db.marshal.IntegerType", BigIntegerSerializer.get()),
31+
INT32TYPE(SHADED_PREFIX + "org.apache.cassandra.db.marshal.Int32Type", Int32Serializer.get()),
32+
DECIMALTYPE(SHADED_PREFIX + "org.apache.cassandra.db.marshal.DecimalType", BigDecimalSerializer.get()),
33+
LEXICALUUIDTYPE(SHADED_PREFIX + "org.apache.cassandra.db.marshal.LexicalUUIDType", UUIDSerializer.get()),
34+
LOCALBYPARTITIONERTYPE(SHADED_PREFIX + "org.apache.cassandra.db.marshal.LocalByPartionerType", ByteBufferSerializer.get()), // FIXME
35+
LONGTYPE(SHADED_PREFIX + "org.apache.cassandra.db.marshal.LongType", LongSerializer.get()),
36+
TIMEUUIDTYPE(SHADED_PREFIX + "org.apache.cassandra.db.marshal.TimeUUIDType", TimeUUIDSerializer.get()),
37+
UTF8TYPE(SHADED_PREFIX + "org.apache.cassandra.db.marshal.UTF8Type", StringSerializer.get()),
38+
COMPOSITETYPE(SHADED_PREFIX + "org.apache.cassandra.db.marshal.CompositeType", CompositeSerializer.get()),
39+
DYNAMICCOMPOSITETYPE(SHADED_PREFIX + "org.apache.cassandra.db.marshal.DynamicCompositeType", DynamicCompositeSerializer.get()),
40+
UUIDTYPE(SHADED_PREFIX + "org.apache.cassandra.db.marshal.UUIDType", UUIDSerializer.get()),
41+
COUNTERTYPE(SHADED_PREFIX + "org.apache.cassandra.db.marshal.CounterColumnType", LongSerializer.get()),
42+
DOUBLETYPE(SHADED_PREFIX + "org.apache.cassandra.db.marshal.DoubleType", DoubleSerializer.get()),
43+
FLOATTYPE(SHADED_PREFIX + "org.apache.cassandra.db.marshal.FloatType", FloatSerializer.get()),
44+
BOOLEANTYPE(SHADED_PREFIX + "org.apache.cassandra.db.marshal.BooleanType", BooleanSerializer.get()),
45+
DATETYPE(SHADED_PREFIX + "org.apache.cassandra.db.marshal.DateType", DateSerializer.get()),
46+
REVERSEDTYPE(SHADED_PREFIX + "org.apache.cassandra.db.marshal.ReversedType", ReversedSerializer.get());
4447

4548
private final String className;
4649
private final String typeName;
4750
private final Serializer<?> serializer;
4851

4952
private ComparatorType(String className, Serializer<?> serializer) {
5053
this.className = className;
51-
if (className.startsWith("org.apache.cassandra.db.marshal.")) {
52-
typeName = className.substring("org.apache.cassandra.db.marshal.".length());
53-
}
54-
else {
55-
typeName = className;
56-
}
54+
this.typeName = getShadedTypeName(className);
5755
this.serializer = serializer;
5856
}
5957

@@ -73,15 +71,19 @@ public static ComparatorType getByClassName(String className) {
7371
if (className == null) {
7472
return null;
7573
}
76-
7774
for (ComparatorType type : ComparatorType.values()) {
78-
if (type.getClassName().equals(className)) {
79-
return type;
80-
}
81-
if (type.getClassName().equals("org.apache.cassandra.db.marshal." + className)) {
75+
if (type.getClassName().equals(getShadedClassName(className))) {
8276
return type;
8377
}
8478
}
8579
return null;
8680
}
81+
82+
public static String getShadedClassName(String className){
83+
return ShadedTypeParser.getShadedClassName(className);
84+
}
85+
86+
public static String getShadedTypeName(String typeName){
87+
return ShadedTypeParser.getShadedTypeName(typeName);
88+
}
8789
}

astyanax-cassandra/src/main/java/com/netflix/astyanax/serializers/DateSerializer.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
import java.nio.ByteBuffer;
1919
import java.util.Date;
2020

21-
import org.apache.cassandra.db.marshal.DateType;
21+
import com.netflix.astyanax.shaded.org.apache.cassandra.db.marshal.DateType;
2222

2323
/**
2424
* Converts bytes to Date and vice versa, by first converting the Date to or

astyanax-cassandra/src/main/java/com/netflix/astyanax/serializers/DoubleSerializer.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717

1818
import java.nio.ByteBuffer;
1919

20-
import org.apache.cassandra.db.marshal.DoubleType;
20+
import com.netflix.astyanax.shaded.org.apache.cassandra.db.marshal.DoubleType;
2121

2222
/**
2323
* Uses LongSerializer via translating Doubles to and from raw long bytes form.

astyanax-cassandra/src/main/java/com/netflix/astyanax/serializers/FloatSerializer.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717

1818
import java.nio.ByteBuffer;
1919

20-
import org.apache.cassandra.db.marshal.FloatType;
20+
import com.netflix.astyanax.shaded.org.apache.cassandra.db.marshal.FloatType;
2121

2222
/**
2323
* Uses IntSerializer via translating Float objects to and from raw long bytes

astyanax-cassandra/src/main/java/com/netflix/astyanax/serializers/GzipStringSerializer.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
import java.util.zip.GZIPInputStream;
2424
import java.util.zip.GZIPOutputStream;
2525

26-
import org.apache.cassandra.db.marshal.UTF8Type;
26+
import com.netflix.astyanax.shaded.org.apache.cassandra.db.marshal.UTF8Type;
2727
import org.apache.commons.codec.binary.StringUtils;
2828

2929
public class GzipStringSerializer extends AbstractSerializer<String> {

astyanax-cassandra/src/main/java/com/netflix/astyanax/serializers/ListSerializer.java

+2-4
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,8 @@
1818
import java.nio.ByteBuffer;
1919
import java.util.List;
2020

21-
import org.apache.cassandra.db.marshal.AbstractType;
22-
import org.apache.cassandra.db.marshal.ListType;
23-
24-
import com.netflix.astyanax.serializers.AbstractSerializer;
21+
import com.netflix.astyanax.shaded.org.apache.cassandra.db.marshal.AbstractType;
22+
import com.netflix.astyanax.shaded.org.apache.cassandra.db.marshal.ListType;
2523

2624
/**
2725
* Serializer implementation for generic lists.

0 commit comments

Comments
 (0)