[
https://issues.apache.org/jira/browse/AVRO-2265?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16684900#comment-16684900
]
ASF GitHub Bot commented on AVRO-2265:
--------------------------------------
Fokko closed pull request #377: AVRO-2265 Remove Guava as a test dependency
URL: https://github.com/apache/avro/pull/377
This is a PR merged from a forked repository.
As GitHub hides the original diff on merge, it is displayed below for
the sake of provenance:
As this is a foreign pull request (from a fork), the diff is supplied
below (as it won't show otherwise due to GitHub magic):
diff --git a/lang/java/avro/pom.xml b/lang/java/avro/pom.xml
index 817bb3aa0..c9104fba9 100644
--- a/lang/java/avro/pom.xml
+++ b/lang/java/avro/pom.xml
@@ -179,18 +179,6 @@
<groupId>com.github.luben</groupId>
<artifactId>zstd-jni</artifactId>
</dependency>
- <dependency>
- <groupId>com.google.guava</groupId>
- <artifactId>guava</artifactId>
- <version>${guava.version}</version>
- <scope>test</scope>
- <exclusions>
- <exclusion> <!-- GPL -->
- <groupId>com.google.code.findbugs</groupId>
- <artifactId>jsr305</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
</dependencies>
</project>
diff --git
a/lang/java/avro/src/test/java/org/apache/avro/message/TestBinaryMessageEncoding.java
b/lang/java/avro/src/test/java/org/apache/avro/message/TestBinaryMessageEncoding.java
index 0c87189f1..4cb6c38d5 100644
---
a/lang/java/avro/src/test/java/org/apache/avro/message/TestBinaryMessageEncoding.java
+++
b/lang/java/avro/src/test/java/org/apache/avro/message/TestBinaryMessageEncoding.java
@@ -20,14 +20,8 @@
package org.apache.avro.message;
import java.nio.ByteBuffer;
-import java.util.Arrays;
-import java.util.List;
-import java.util.Set;
-
-import com.google.common.collect.Iterables;
-import com.google.common.collect.Lists;
-import com.google.common.collect.Ordering;
-import com.google.common.collect.Sets;
+import java.util.*;
+
import org.apache.avro.AvroRuntimeException;
import org.apache.avro.Schema;
import org.apache.avro.SchemaBuilder;
@@ -38,33 +32,33 @@
import org.junit.Test;
public class TestBinaryMessageEncoding {
- public static final Schema SCHEMA_V1 = SchemaBuilder.record("TestRecord")
+ private static final Schema SCHEMA_V1 = SchemaBuilder.record("TestRecord")
.fields()
.requiredInt("id")
.optionalString("msg")
.endRecord();
- public static final GenericRecordBuilder V1_BUILDER =
+ private static final GenericRecordBuilder V1_BUILDER =
new GenericRecordBuilder(SCHEMA_V1);
- public static final List<Record> V1_RECORDS = Arrays.asList(
+ private static final List<Record> V1_RECORDS = Arrays.asList(
V1_BUILDER.set("id", 1).set("msg", "m-1").build(),
V1_BUILDER.set("id", 2).set("msg", "m-2").build(),
V1_BUILDER.set("id", 4).set("msg", "m-4").build(),
V1_BUILDER.set("id", 6).set("msg", "m-6").build()
);
- public static final Schema SCHEMA_V2 = SchemaBuilder.record("TestRecord")
+ private static final Schema SCHEMA_V2 = SchemaBuilder.record("TestRecord")
.fields()
.requiredLong("id")
.name("message").aliases("msg").type().optional().stringType()
.optionalDouble("data")
.endRecord();
- public static final GenericRecordBuilder V2_BUILDER =
+ private static final GenericRecordBuilder V2_BUILDER =
new GenericRecordBuilder(SCHEMA_V2);
- public static final List<Record> V2_RECORDS = Arrays.asList(
+ private static final List<Record> V2_RECORDS = Arrays.asList(
V2_BUILDER.set("id", 3L).set("message", "m-3").set("data", 12.3).build(),
V2_BUILDER.set("id", 5L).set("message", "m-5").set("data", 23.4).build(),
V2_BUILDER.set("id", 7L).set("message", "m-7").set("data", 34.5).build(),
@@ -73,29 +67,25 @@
@Test
public void testByteBufferRoundTrip() throws Exception {
- MessageEncoder<Record> encoder = new BinaryMessageEncoder<>(
- GenericData.get(), SCHEMA_V2);
- MessageDecoder<Record> decoder = new BinaryMessageDecoder<>(
- GenericData.get(), SCHEMA_V2);
+ MessageEncoder<Record> encoder = new
BinaryMessageEncoder<>(GenericData.get(), SCHEMA_V2);
+ MessageDecoder<Record> decoder = new
BinaryMessageDecoder<>(GenericData.get(), SCHEMA_V2);
Record copy = decoder.decode(encoder.encode(V2_RECORDS.get(0)));
- Assert.assertTrue("Copy should not be the same object",
- copy != V2_RECORDS.get(0));
- Assert.assertEquals("Record should be identical after round-trip",
- V2_RECORDS.get(0), copy);
+ Assert.assertNotSame("Copy should not be the same object", copy,
V2_RECORDS.get(0));
+ Assert.assertEquals("Record should be identical after round-trip",
V2_RECORDS.get(0), copy);
}
@Test
public void testSchemaEvolution() throws Exception {
- List<ByteBuffer> buffers = Lists.newArrayList();
- List<Record> records = Ordering.usingToString().sortedCopy(
- Iterables.concat(V1_RECORDS, V2_RECORDS));
+ List<ByteBuffer> buffers = new ArrayList<>();
+ List<Record> records = new ArrayList<>();
+
+ records.addAll(V1_RECORDS);
+ records.addAll(V2_RECORDS);
- MessageEncoder<Record> v1Encoder = new BinaryMessageEncoder<>(
- GenericData.get(), SCHEMA_V1);
- MessageEncoder<Record> v2Encoder = new BinaryMessageEncoder<>(
- GenericData.get(), SCHEMA_V2);
+ MessageEncoder<Record> v1Encoder = new
BinaryMessageEncoder<>(GenericData.get(), SCHEMA_V1);
+ MessageEncoder<Record> v2Encoder = new
BinaryMessageEncoder<>(GenericData.get(), SCHEMA_V2);
for (Record record : records) {
if (record.getSchema() == SCHEMA_V1) {
@@ -105,21 +95,17 @@ public void testSchemaEvolution() throws Exception {
}
}
- Set<Record> allAsV2 = Sets.newHashSet(V2_RECORDS);
- allAsV2.add(
- V2_BUILDER.set("id", 1L).set("message", "m-1").clear("data").build());
- allAsV2.add(
- V2_BUILDER.set("id", 2L).set("message", "m-2").clear("data").build());
- allAsV2.add(
- V2_BUILDER.set("id", 4L).set("message", "m-4").clear("data").build());
- allAsV2.add(
- V2_BUILDER.set("id", 6L).set("message", "m-6").clear("data").build());
-
- BinaryMessageDecoder<Record> v2Decoder = new BinaryMessageDecoder<>(
- GenericData.get(), SCHEMA_V2);
+ Set<Record> allAsV2 = new HashSet<>(V2_RECORDS);
+
+ allAsV2.add(V2_BUILDER.set("id", 1L).set("message",
"m-1").clear("data").build());
+ allAsV2.add(V2_BUILDER.set("id", 2L).set("message",
"m-2").clear("data").build());
+ allAsV2.add(V2_BUILDER.set("id", 4L).set("message",
"m-4").clear("data").build());
+ allAsV2.add(V2_BUILDER.set("id", 6L).set("message",
"m-6").clear("data").build());
+
+ BinaryMessageDecoder<Record> v2Decoder = new
BinaryMessageDecoder<>(GenericData.get(), SCHEMA_V2);
v2Decoder.addSchema(SCHEMA_V1);
- Set<Record> decodedUsingV2 = Sets.newHashSet();
+ Set<Record> decodedUsingV2 = new HashSet<>();
for (ByteBuffer buffer : buffers) {
decodedUsingV2.add(v2Decoder.decode(buffer));
}
@@ -129,10 +115,8 @@ public void testSchemaEvolution() throws Exception {
@Test(expected = MissingSchemaException.class)
public void testCompatibleReadFailsWithoutSchema() throws Exception {
- MessageEncoder<Record> v1Encoder = new BinaryMessageEncoder<>(
- GenericData.get(), SCHEMA_V1);
- BinaryMessageDecoder<Record> v2Decoder = new BinaryMessageDecoder<>(
- GenericData.get(), SCHEMA_V2);
+ MessageEncoder<Record> v1Encoder = new
BinaryMessageEncoder<>(GenericData.get(), SCHEMA_V1);
+ BinaryMessageDecoder<Record> v2Decoder = new
BinaryMessageDecoder<>(GenericData.get(), SCHEMA_V2);
ByteBuffer v1Buffer = v1Encoder.encode(V1_RECORDS.get(3));
@@ -141,10 +125,8 @@ public void testCompatibleReadFailsWithoutSchema() throws
Exception {
@Test
public void testCompatibleReadWithSchema() throws Exception {
- MessageEncoder<Record> v1Encoder = new BinaryMessageEncoder<>(
- GenericData.get(), SCHEMA_V1);
- BinaryMessageDecoder<Record> v2Decoder = new BinaryMessageDecoder<>(
- GenericData.get(), SCHEMA_V2);
+ MessageEncoder<Record> v1Encoder = new
BinaryMessageEncoder<>(GenericData.get(), SCHEMA_V1);
+ BinaryMessageDecoder<Record> v2Decoder = new
BinaryMessageDecoder<>(GenericData.get(), SCHEMA_V2);
v2Decoder.addSchema(SCHEMA_V1);
ByteBuffer v1Buffer = v1Encoder.encode(V1_RECORDS.get(3));
@@ -158,13 +140,11 @@ public void testCompatibleReadWithSchema() throws
Exception {
@Test
public void testCompatibleReadWithSchemaFromLookup() throws Exception {
- MessageEncoder<Record> v1Encoder = new BinaryMessageEncoder<>(
- GenericData.get(), SCHEMA_V1);
+ MessageEncoder<Record> v1Encoder = new
BinaryMessageEncoder<>(GenericData.get(), SCHEMA_V1);
SchemaStore.Cache schemaCache = new SchemaStore.Cache();
schemaCache.addSchema(SCHEMA_V1);
- BinaryMessageDecoder<Record> v2Decoder = new BinaryMessageDecoder<>(
- GenericData.get(), SCHEMA_V2, schemaCache);
+ BinaryMessageDecoder<Record> v2Decoder = new
BinaryMessageDecoder<>(GenericData.get(), SCHEMA_V2, schemaCache);
ByteBuffer v1Buffer = v1Encoder.encode(V1_RECORDS.get(2));
@@ -180,32 +160,29 @@ public void testBufferReuse() throws Exception {
// This test depends on the serialized version of record 1 being smaller or
// the same size as record 0 so that the reused ByteArrayOutputStream won't
// expand its internal buffer.
- MessageEncoder<Record> encoder = new BinaryMessageEncoder<>(
- GenericData.get(), SCHEMA_V1, false);
+ MessageEncoder<Record> encoder = new
BinaryMessageEncoder<>(GenericData.get(), SCHEMA_V1, false);
ByteBuffer b0 = encoder.encode(V1_RECORDS.get(0));
ByteBuffer b1 = encoder.encode(V1_RECORDS.get(1));
Assert.assertEquals(b0.array(), b1.array());
- MessageDecoder<Record> decoder = new BinaryMessageDecoder<>(
- GenericData.get(), SCHEMA_V1);
+ MessageDecoder<Record> decoder = new
BinaryMessageDecoder<>(GenericData.get(), SCHEMA_V1);
Assert.assertEquals("Buffer was reused, decode(b0) should be record 1",
V1_RECORDS.get(1), decoder.decode(b0));
}
@Test
public void testBufferCopy() throws Exception {
- MessageEncoder<Record> encoder = new BinaryMessageEncoder<>(
- GenericData.get(), SCHEMA_V1);
+ MessageEncoder<Record> encoder = new
BinaryMessageEncoder<>(GenericData.get(), SCHEMA_V1);
ByteBuffer b0 = encoder.encode(V1_RECORDS.get(0));
ByteBuffer b1 = encoder.encode(V1_RECORDS.get(1));
Assert.assertNotEquals(b0.array(), b1.array());
- MessageDecoder<Record> decoder = new BinaryMessageDecoder<>(
- GenericData.get(), SCHEMA_V1);
+ MessageDecoder<Record> decoder = new
BinaryMessageDecoder<>(GenericData.get(), SCHEMA_V1);
+
// bytes are not changed by reusing the encoder
Assert.assertEquals("Buffer was copied, decode(b0) should be record 0",
V1_RECORDS.get(0), decoder.decode(b0));
@@ -213,10 +190,8 @@ public void testBufferCopy() throws Exception {
@Test(expected = AvroRuntimeException.class)
public void testByteBufferMissingPayload() throws Exception {
- MessageEncoder<Record> encoder = new BinaryMessageEncoder<>(
- GenericData.get(), SCHEMA_V2);
- MessageDecoder<Record> decoder = new BinaryMessageDecoder<>(
- GenericData.get(), SCHEMA_V2);
+ MessageEncoder<Record> encoder = new
BinaryMessageEncoder<>(GenericData.get(), SCHEMA_V2);
+ MessageDecoder<Record> decoder = new
BinaryMessageDecoder<>(GenericData.get(), SCHEMA_V2);
ByteBuffer buffer = encoder.encode(V2_RECORDS.get(0));
@@ -227,10 +202,8 @@ public void testByteBufferMissingPayload() throws
Exception {
@Test(expected = BadHeaderException.class)
public void testByteBufferMissingFullHeader() throws Exception {
- MessageEncoder<Record> encoder = new BinaryMessageEncoder<>(
- GenericData.get(), SCHEMA_V2);
- MessageDecoder<Record> decoder = new BinaryMessageDecoder<>(
- GenericData.get(), SCHEMA_V2);
+ MessageEncoder<Record> encoder = new
BinaryMessageEncoder<>(GenericData.get(), SCHEMA_V2);
+ MessageDecoder<Record> decoder = new
BinaryMessageDecoder<>(GenericData.get(), SCHEMA_V2);
ByteBuffer buffer = encoder.encode(V2_RECORDS.get(0));
@@ -241,10 +214,8 @@ public void testByteBufferMissingFullHeader() throws
Exception {
@Test(expected = BadHeaderException.class)
public void testByteBufferBadMarkerByte() throws Exception {
- MessageEncoder<Record> encoder = new BinaryMessageEncoder<>(
- GenericData.get(), SCHEMA_V2);
- MessageDecoder<Record> decoder = new BinaryMessageDecoder<>(
- GenericData.get(), SCHEMA_V2);
+ MessageEncoder<Record> encoder = new
BinaryMessageEncoder<>(GenericData.get(), SCHEMA_V2);
+ MessageDecoder<Record> decoder = new
BinaryMessageDecoder<>(GenericData.get(), SCHEMA_V2);
ByteBuffer buffer = encoder.encode(V2_RECORDS.get(0));
buffer.array()[0] = 0x00;
@@ -254,10 +225,8 @@ public void testByteBufferBadMarkerByte() throws Exception
{
@Test(expected = BadHeaderException.class)
public void testByteBufferBadVersionByte() throws Exception {
- MessageEncoder<Record> encoder = new BinaryMessageEncoder<>(
- GenericData.get(), SCHEMA_V2);
- MessageDecoder<Record> decoder = new BinaryMessageDecoder<>(
- GenericData.get(), SCHEMA_V2);
+ MessageEncoder<Record> encoder = new
BinaryMessageEncoder<>(GenericData.get(), SCHEMA_V2);
+ MessageDecoder<Record> decoder = new
BinaryMessageDecoder<>(GenericData.get(), SCHEMA_V2);
ByteBuffer buffer = encoder.encode(V2_RECORDS.get(0));
buffer.array()[1] = 0x00;
@@ -267,10 +236,8 @@ public void testByteBufferBadVersionByte() throws
Exception {
@Test(expected = MissingSchemaException.class)
public void testByteBufferUnknownSchema() throws Exception {
- MessageEncoder<Record> encoder = new BinaryMessageEncoder<>(
- GenericData.get(), SCHEMA_V2);
- MessageDecoder<Record> decoder = new BinaryMessageDecoder<>(
- GenericData.get(), SCHEMA_V2);
+ MessageEncoder<Record> encoder = new
BinaryMessageEncoder<>(GenericData.get(), SCHEMA_V2);
+ MessageDecoder<Record> decoder = new
BinaryMessageDecoder<>(GenericData.get(), SCHEMA_V2);
ByteBuffer buffer = encoder.encode(V2_RECORDS.get(0));
buffer.array()[4] = 0x00;
diff --git a/lang/java/mapred/pom.xml b/lang/java/mapred/pom.xml
index fb705efee..368226a1d 100644
--- a/lang/java/mapred/pom.xml
+++ b/lang/java/mapred/pom.xml
@@ -101,33 +101,6 @@
</execution>
</executions>
</plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-enforcer-plugin</artifactId>
- <version>1.4.1</version>
- <executions>
- <execution>
- <id>enforce-banned-dependencies</id>
- <goals>
- <goal>enforce</goal>
- </goals>
- <configuration>
- <rules>
- <bannedDependencies>
- <!-- Ban all versions of Guava other than 11.0.2 that Hadoop
uses -->
- <excludes>
- <exclude>com.google.guava:guava</exclude>
- </excludes>
- <includes>
- <include>com.google.guava:guava:11.0.2</include>
- </includes>
- </bannedDependencies>
- </rules>
- <fail>true</fail>
- </configuration>
- </execution>
- </executions>
- </plugin>
</plugins>
</build>
diff --git a/lang/java/pom.xml b/lang/java/pom.xml
index cb596cf2d..43892c003 100644
--- a/lang/java/pom.xml
+++ b/lang/java/pom.xml
@@ -62,8 +62,6 @@
<hamcrest.version>1.3</hamcrest.version>
<joda.version>2.10.1</joda.version>
<grpc.version>1.16.1</grpc.version>
- <!-- This Guava version should match Hadoop's Guava version. See
AVRO-1781. -->
- <guava.version>11.0.2</guava.version>
<findbugs-annotations.version>1.3.9-1</findbugs-annotations.version>
<zstd-jni.version>1.3.7-1</zstd-jni.version>
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
> Remove Guava as a dependency
> ----------------------------
>
> Key: AVRO-2265
> URL: https://issues.apache.org/jira/browse/AVRO-2265
> Project: Apache Avro
> Issue Type: Task
> Components: java
> Affects Versions: 1.8.2
> Reporter: Fokko Driesprong
> Assignee: Fokko Driesprong
> Priority: Major
> Fix For: 1.9.0
>
>
> Get rid of Guava in the tests. Guava is a dependency that can easily clash
> with different versions. Since it is used very little, it makes sense to get
> rid of it.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)