You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flink.apache.org by da...@apache.org on 2023/06/30 15:44:36 UTC
[flink-connector-aws] branch main updated (9983073 -> 6484f9d)
This is an automated email from the ASF dual-hosted git repository.
dannycranmer pushed a change to branch main
in repository https://gitbox.apache.org/repos/asf/flink-connector-aws.git
from 9983073 [FLINK-32500][Connectors/AWS] Update dependency versions for guava and snappy-java
new 6cacefe [FLINK-32208] Remove dependency on flink-shaded from flink-connector-aws
new 6484f9d [FLINK-32208] Adding managed flink-connector-base to fix convergence issue. Remove DDB dependency on Guava
The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
Summary of changes:
.../pom.xml | 10 +++
.../table/test/KinesisFirehoseTableITTest.java | 28 ++++--
.../pom.xml | 18 ++++
.../table/test/KinesisStreamsTableApiIT.java | 28 ++++--
.../kinesis/test/KinesisTableApiITCase.java | 27 ++++--
.../flink/streaming/kinesis/test/model/Order.java | 2 +-
flink-connector-aws-kinesis-firehose/pom.xml | 15 ++++
.../sink/testutils/KinesisFirehoseTestUtils.java | 24 +++--
flink-connector-aws-kinesis-streams/pom.xml | 10 +++
.../reader/PollingKinesisShardSplitReader.java | 6 +-
.../kinesis/sink/examples/SinkIntoKinesis.java | 22 ++++-
.../dynamodb/sink/DynamoDbSinkWriter.java | 5 +-
.../dynamodb/table/DynamoDbDynamicSinkFactory.java | 8 +-
.../dynamodb/sink/DynamoDbSinkITCase.java | 8 +-
.../dynamodb/sink/DynamoDbSinkWriterTest.java | 71 ++++++++-------
.../dynamodb/sink/DynamoDbWriteRequestTest.java | 5 +-
.../sink/DynamoDbWriterStateSerializerTest.java | 5 +-
.../table/DynamoDbDynamicSinkFactoryTest.java | 5 +-
.../RowDataToAttributeValueConverterTest.java | 49 +++++-----
.../util/DynamoDbSerializationUtilTest.java | 27 +++---
.../dynamodb/util/PrimaryKeyBuilderTest.java | 100 ++++++++++-----------
.../src/main/resources/META-INF/NOTICE | 10 +--
.../kinesis/testutils/KinesisPubsubClient.java | 3 +-
...inesisDataFetcherForShardConsumerException.java | 2 +-
.../src/main/resources/META-INF/NOTICE | 1 +
pom.xml | 30 ++++---
tools/maven/checkstyle.xml | 16 ----
27 files changed, 319 insertions(+), 216 deletions(-)
[flink-connector-aws] 02/02: [FLINK-32208] Adding managed flink-connector-base to fix convergence issue. Remove DDB dependency on Guava
Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
dannycranmer pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/flink-connector-aws.git
commit 6484f9d1d80f61247c78c7e6ba6856820321ef02
Author: Danny Cranmer <da...@apache.org>
AuthorDate: Fri Jun 30 11:33:53 2023 +0100
[FLINK-32208] Adding managed flink-connector-base to fix convergence issue. Remove DDB dependency on Guava
---
.../reader/PollingKinesisShardSplitReader.java | 6 +-
flink-connector-dynamodb/pom.xml | 6 --
.../dynamodb/sink/DynamoDbSinkWriter.java | 4 +-
.../dynamodb/table/DynamoDbDynamicSinkFactory.java | 8 +-
.../dynamodb/sink/DynamoDbSinkITCase.java | 7 +-
.../dynamodb/sink/DynamoDbSinkWriterTest.java | 70 +++++++--------
.../dynamodb/sink/DynamoDbWriteRequestTest.java | 4 +-
.../sink/DynamoDbWriterStateSerializerTest.java | 4 +-
.../table/DynamoDbDynamicSinkFactoryTest.java | 4 +-
.../RowDataToAttributeValueConverterTest.java | 48 +++++------
.../util/DynamoDbSerializationUtilTest.java | 26 +++---
.../dynamodb/util/PrimaryKeyBuilderTest.java | 99 +++++++++++-----------
.../src/main/resources/META-INF/NOTICE | 10 +--
.../src/main/resources/META-INF/NOTICE | 1 +
pom.xml | 21 +++++
tools/maven/checkstyle.xml | 2 +-
16 files changed, 165 insertions(+), 155 deletions(-)
diff --git a/flink-connector-aws-kinesis-streams/src/main/java/org/apache/flink/connector/kinesis/source/reader/PollingKinesisShardSplitReader.java b/flink-connector-aws-kinesis-streams/src/main/java/org/apache/flink/connector/kinesis/source/reader/PollingKinesisShardSplitReader.java
index ab20e2a..354dc26 100644
--- a/flink-connector-aws-kinesis-streams/src/main/java/org/apache/flink/connector/kinesis/source/reader/PollingKinesisShardSplitReader.java
+++ b/flink-connector-aws-kinesis-streams/src/main/java/org/apache/flink/connector/kinesis/source/reader/PollingKinesisShardSplitReader.java
@@ -27,8 +27,6 @@ import org.apache.flink.connector.kinesis.source.split.KinesisShardSplit;
import org.apache.flink.connector.kinesis.source.split.KinesisShardSplitState;
import org.apache.flink.connector.kinesis.source.split.StartingPosition;
-import org.apache.flink.shaded.guava30.com.google.common.collect.ImmutableSet;
-
import software.amazon.awssdk.services.kinesis.model.GetRecordsResponse;
import software.amazon.awssdk.services.kinesis.model.Record;
@@ -41,6 +39,8 @@ import java.util.Deque;
import java.util.Iterator;
import java.util.Set;
+import static java.util.Collections.singleton;
+
/**
* An implementation of the SplitReader that periodically polls the Kinesis stream to retrieve
* records.
@@ -148,7 +148,7 @@ public class PollingKinesisShardSplitReader implements SplitReader<Record, Kines
if (recordsIterator.hasNext()) {
return Collections.emptySet();
}
- return isComplete ? ImmutableSet.of(splitId) : Collections.emptySet();
+ return isComplete ? singleton(splitId) : Collections.emptySet();
}
}
}
diff --git a/flink-connector-dynamodb/pom.xml b/flink-connector-dynamodb/pom.xml
index 40817d1..3a4e948 100644
--- a/flink-connector-dynamodb/pom.xml
+++ b/flink-connector-dynamodb/pom.xml
@@ -92,12 +92,6 @@ under the License.
<optional>true</optional>
</dependency>
- <!-- Other third-party dependencies -->
- <dependency>
- <groupId>com.google.guava</groupId>
- <artifactId>guava</artifactId>
- </dependency>
-
<!-- Test dependencies -->
<dependency>
<groupId>org.apache.flink</groupId>
diff --git a/flink-connector-dynamodb/src/main/java/org/apache/flink/connector/dynamodb/sink/DynamoDbSinkWriter.java b/flink-connector-dynamodb/src/main/java/org/apache/flink/connector/dynamodb/sink/DynamoDbSinkWriter.java
index 30013b0..e0ef4c4 100644
--- a/flink-connector-dynamodb/src/main/java/org/apache/flink/connector/dynamodb/sink/DynamoDbSinkWriter.java
+++ b/flink-connector-dynamodb/src/main/java/org/apache/flink/connector/dynamodb/sink/DynamoDbSinkWriter.java
@@ -31,7 +31,6 @@ import org.apache.flink.metrics.Counter;
import org.apache.flink.metrics.groups.SinkWriterMetricGroup;
import org.apache.flink.util.CollectionUtil;
-import com.google.common.collect.ImmutableMap;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import software.amazon.awssdk.services.dynamodb.DynamoDbAsyncClient;
@@ -53,6 +52,7 @@ import java.util.Map;
import java.util.concurrent.CompletableFuture;
import java.util.function.Consumer;
+import static java.util.Collections.singletonMap;
import static org.apache.flink.connector.aws.util.AWSCredentialFatalExceptionClassifiers.getInvalidCredentialsExceptionClassifier;
import static org.apache.flink.connector.aws.util.AWSCredentialFatalExceptionClassifiers.getSdkClientMisconfiguredExceptionClassifier;
import static org.apache.flink.connector.base.sink.writer.AsyncSinkFatalExceptionClassifiers.getInterruptedExceptionClassifier;
@@ -184,7 +184,7 @@ class DynamoDbSinkWriter<InputT> extends AsyncSinkWriter<InputT, DynamoDbWriteRe
.getClient()
.batchWriteItem(
BatchWriteItemRequest.builder()
- .requestItems(ImmutableMap.of(tableName, items))
+ .requestItems(singletonMap(tableName, items))
.build());
future.whenComplete(
diff --git a/flink-connector-dynamodb/src/main/java/org/apache/flink/connector/dynamodb/table/DynamoDbDynamicSinkFactory.java b/flink-connector-dynamodb/src/main/java/org/apache/flink/connector/dynamodb/table/DynamoDbDynamicSinkFactory.java
index 41a7282..008828c 100644
--- a/flink-connector-dynamodb/src/main/java/org/apache/flink/connector/dynamodb/table/DynamoDbDynamicSinkFactory.java
+++ b/flink-connector-dynamodb/src/main/java/org/apache/flink/connector/dynamodb/table/DynamoDbDynamicSinkFactory.java
@@ -25,8 +25,6 @@ import org.apache.flink.table.catalog.ResolvedCatalogTable;
import org.apache.flink.table.connector.sink.DynamicTableSink;
import org.apache.flink.table.factories.FactoryUtil;
-import com.google.common.collect.ImmutableSet;
-
import java.util.HashSet;
import java.util.Set;
@@ -72,6 +70,10 @@ public class DynamoDbDynamicSinkFactory extends AsyncDynamicTableSinkFactory {
@Override
public Set<ConfigOption<?>> requiredOptions() {
- return ImmutableSet.of(TABLE_NAME, AWS_REGION);
+ final Set<ConfigOption<?>> requiredOptions = new HashSet<>();
+ requiredOptions.add(TABLE_NAME);
+ requiredOptions.add(AWS_REGION);
+
+ return requiredOptions;
}
}
diff --git a/flink-connector-dynamodb/src/test/java/org/apache/flink/connector/dynamodb/sink/DynamoDbSinkITCase.java b/flink-connector-dynamodb/src/test/java/org/apache/flink/connector/dynamodb/sink/DynamoDbSinkITCase.java
index be00a3b..dafcac8 100644
--- a/flink-connector-dynamodb/src/test/java/org/apache/flink/connector/dynamodb/sink/DynamoDbSinkITCase.java
+++ b/flink-connector-dynamodb/src/test/java/org/apache/flink/connector/dynamodb/sink/DynamoDbSinkITCase.java
@@ -32,7 +32,6 @@ import org.apache.flink.streaming.api.functions.source.datagen.RandomGenerator;
import org.apache.flink.test.junit5.MiniClusterExtension;
import org.apache.flink.util.StringUtils;
-import com.google.common.collect.ImmutableList;
import org.assertj.core.api.Assertions;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
@@ -45,11 +44,13 @@ import software.amazon.awssdk.services.dynamodb.model.AttributeValue;
import java.net.URISyntaxException;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.Properties;
import java.util.UUID;
+import static java.util.Collections.singletonList;
import static org.apache.flink.connector.aws.config.AWSConfigConstants.AWS_ACCESS_KEY_ID;
import static org.apache.flink.connector.aws.config.AWSConfigConstants.AWS_CREDENTIALS_PROVIDER;
import static org.apache.flink.connector.aws.config.AWSConfigConstants.AWS_ENDPOINT;
@@ -151,7 +152,7 @@ public class DynamoDbSinkITCase {
public void deduplicatesOnPartitionKey() throws Exception {
new Scenario(env.fromCollection(getItemsWithDuplicatedPartitionKey()))
.withTableName(testTableName)
- .withOverwriteByPartitionKeys(ImmutableList.of(PARTITION_KEY))
+ .withOverwriteByPartitionKeys(singletonList(PARTITION_KEY))
.withBufferMaxTimeMS(60 * 1000)
.withExpectedElements(1)
.withMaxInflightReqs(1)
@@ -162,7 +163,7 @@ public class DynamoDbSinkITCase {
public void deduplicatesOnCompositeKeyAndNewerItemTakesPrecedence() throws Exception {
new Scenario(env.fromCollection(getItemsWithDuplicatedCompositeKey()))
.withTableName(testTableName)
- .withOverwriteByPartitionKeys(ImmutableList.of(PARTITION_KEY, SORT_KEY))
+ .withOverwriteByPartitionKeys(Arrays.asList(PARTITION_KEY, SORT_KEY))
.withBufferMaxTimeMS(60 * 1000)
// more than one in-flight request may cause a race condition
// where the first request to complete will take precedence
diff --git a/flink-connector-dynamodb/src/test/java/org/apache/flink/connector/dynamodb/sink/DynamoDbSinkWriterTest.java b/flink-connector-dynamodb/src/test/java/org/apache/flink/connector/dynamodb/sink/DynamoDbSinkWriterTest.java
index 60870c5..d37e184 100644
--- a/flink-connector-dynamodb/src/test/java/org/apache/flink/connector/dynamodb/sink/DynamoDbSinkWriterTest.java
+++ b/flink-connector-dynamodb/src/test/java/org/apache/flink/connector/dynamodb/sink/DynamoDbSinkWriterTest.java
@@ -22,8 +22,6 @@ import org.apache.flink.api.connector.sink2.Sink;
import org.apache.flink.connector.base.sink.writer.TestSinkInitContext;
import org.apache.flink.connector.dynamodb.sink.client.SdkClientProvider;
-import com.google.common.collect.ImmutableList;
-import com.google.common.collect.ImmutableMap;
import org.junit.jupiter.api.Test;
import software.amazon.awssdk.awscore.exception.AwsErrorDetails;
import software.amazon.awssdk.core.exception.SdkClientException;
@@ -42,7 +40,9 @@ import software.amazon.awssdk.services.dynamodb.model.WriteRequest;
import software.amazon.awssdk.services.sts.model.StsException;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.Collections;
+import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Optional;
@@ -51,8 +51,10 @@ import java.util.concurrent.TimeUnit;
import java.util.function.Consumer;
import java.util.function.Predicate;
import java.util.function.Supplier;
-import java.util.stream.Collectors;
+import static java.util.Collections.singletonList;
+import static java.util.Collections.singletonMap;
+import static java.util.stream.Collectors.toList;
import static org.assertj.core.api.Assertions.assertThat;
/** Tests for {@link DynamoDbSinkWriter}. */
@@ -67,13 +69,13 @@ public class DynamoDbSinkWriterTest {
public void testSuccessfulRequestWithNoDeduplication() throws Exception {
List<String> overwriteByPartitionKeys = Collections.emptyList();
List<DynamoDbWriteRequest> inputRequests =
- ImmutableList.of(
+ Arrays.asList(
sinkPutRequest(item("pk", "1")),
sinkPutRequest(item("pk", "2")),
sinkDeleteRequest(item("pk", "3")),
sinkDeleteRequest(item("pk", "4")));
List<WriteRequest> expectedClientRequests =
- ImmutableList.of(
+ Arrays.asList(
dynamoDbPutRequest(item("pk", "1")),
dynamoDbPutRequest(item("pk", "2")),
dynamoDbDeleteRequest(item("pk", "3")),
@@ -95,11 +97,11 @@ public class DynamoDbSinkWriterTest {
@Test
public void testPutRequestPartitionKeyDeduplication() throws Exception {
- List<String> overwriteByPartitionKeys = ImmutableList.of(PARTITION_KEY);
+ List<String> overwriteByPartitionKeys = singletonList(PARTITION_KEY);
List<DynamoDbWriteRequest> inputRequests =
- ImmutableList.of(sinkPutRequest(item("pk", "1")), sinkPutRequest(item("pk", "2")));
+ Arrays.asList(sinkPutRequest(item("pk", "1")), sinkPutRequest(item("pk", "2")));
List<WriteRequest> expectedClientRequests =
- ImmutableList.of(dynamoDbPutRequest(item("pk", "2")));
+ Arrays.asList(dynamoDbPutRequest(item("pk", "2")));
TrackingDynamoDbAsyncClient trackingDynamoDbAsyncClient = new TrackingDynamoDbAsyncClient();
DynamoDbSinkWriter<Map<String, AttributeValue>> dynamoDbSinkWriter =
@@ -117,12 +119,12 @@ public class DynamoDbSinkWriterTest {
@Test
public void testDeleteRequestPartitionKeyDeduplication() throws Exception {
- List<String> overwriteByPartitionKeys = ImmutableList.of(PARTITION_KEY);
+ List<String> overwriteByPartitionKeys = singletonList(PARTITION_KEY);
List<DynamoDbWriteRequest> inputRequests =
- ImmutableList.of(
+ Arrays.asList(
sinkDeleteRequest(item("pk", "1")), sinkDeleteRequest(item("pk", "2")));
List<WriteRequest> expectedClientRequests =
- ImmutableList.of(dynamoDbDeleteRequest(item("pk", "2")));
+ singletonList(dynamoDbDeleteRequest(item("pk", "2")));
TrackingDynamoDbAsyncClient trackingDynamoDbAsyncClient = new TrackingDynamoDbAsyncClient();
DynamoDbSinkWriter<Map<String, AttributeValue>> dynamoDbSinkWriter =
@@ -140,15 +142,15 @@ public class DynamoDbSinkWriterTest {
@Test
public void testMultipleKeyDeduplication() throws Exception {
- List<String> overwriteByPartitionKeys = ImmutableList.of(PARTITION_KEY, SORT_KEY);
+ List<String> overwriteByPartitionKeys = Arrays.asList(PARTITION_KEY, SORT_KEY);
List<DynamoDbWriteRequest> inputRequests =
- ImmutableList.of(
+ Arrays.asList(
sinkPutRequest(item("pk", "1")),
sinkPutRequest(item("pk", "2")),
sinkPutRequest(itemWithPayload("pk", "2", "string_payload_1")),
sinkPutRequest(itemWithPayload("pk", "2", "string_payload_2")));
List<WriteRequest> expectedClientRequests =
- ImmutableList.of(
+ Arrays.asList(
dynamoDbPutRequest(item("pk", "1")),
dynamoDbPutRequest(itemWithPayload("pk", "2", "string_payload_2")));
@@ -203,13 +205,13 @@ public class DynamoDbSinkWriterTest {
public void testPartiallyFailedRequestRetriesFailedRecords() throws Exception {
boolean failOnError = false;
List<DynamoDbWriteRequest> inputRequests =
- ImmutableList.of(
+ Arrays.asList(
sinkPutRequest(item("put_will_fail_pk", "1")),
sinkPutRequest(item("put_will_not_fail_pk", "2")),
sinkDeleteRequest(item("delete_will_fail_pk", "3")),
sinkDeleteRequest(item("delete_will_not_fail_pk", "4")));
List<DynamoDbWriteRequest> expectedRetriedRecords =
- ImmutableList.of(
+ Arrays.asList(
sinkPutRequest(item("put_will_fail_pk", "1")),
sinkDeleteRequest(item("delete_will_fail_pk", "3")));
Predicate<String> failWhenPartitionKeyMatcher = str -> str.contains("will_fail_pk");
@@ -370,7 +372,7 @@ public class DynamoDbSinkWriterTest {
}
private List<DynamoDbWriteRequest> getDefaultInputRequests() {
- return ImmutableList.of(sinkPutRequest(item("pk", "1")), sinkPutRequest(item("pk", "2")));
+ return Arrays.asList(sinkPutRequest(item("pk", "1")), sinkPutRequest(item("pk", "2")));
}
private Optional<Exception> getGenericRetryableException() {
@@ -418,22 +420,22 @@ public class DynamoDbSinkWriterTest {
}
private Map<String, AttributeValue> item(String partitionKey, String sortKey) {
- return ImmutableMap.<String, AttributeValue>builder()
- .put(PARTITION_KEY, AttributeValue.builder().s(partitionKey).build())
- .put(SORT_KEY, AttributeValue.builder().n(sortKey).build())
- .put("string_payload", AttributeValue.builder().s("some_strings").build())
- .put("number_payload", AttributeValue.builder().n("1234").build())
- .build();
+ final Map<String, AttributeValue> item = new HashMap<>();
+ item.put(PARTITION_KEY, AttributeValue.builder().s(partitionKey).build());
+ item.put(SORT_KEY, AttributeValue.builder().n(sortKey).build());
+ item.put("string_payload", AttributeValue.builder().s("some_strings").build());
+ item.put("number_payload", AttributeValue.builder().n("1234").build());
+ return item;
}
private Map<String, AttributeValue> itemWithPayload(
String partitionKey, String sortKey, String payload) {
- return ImmutableMap.<String, AttributeValue>builder()
- .put(PARTITION_KEY, AttributeValue.builder().s(partitionKey).build())
- .put(SORT_KEY, AttributeValue.builder().n(sortKey).build())
- .put("string_payload", AttributeValue.builder().s(payload).build())
- .put("number_payload", AttributeValue.builder().n("1234").build())
- .build();
+ final Map<String, AttributeValue> item = new HashMap<>();
+ item.put(PARTITION_KEY, AttributeValue.builder().s(partitionKey).build());
+ item.put(SORT_KEY, AttributeValue.builder().n(sortKey).build());
+ item.put("string_payload", AttributeValue.builder().s(payload).build());
+ item.put("number_payload", AttributeValue.builder().n("1234").build());
+ return item;
}
private static class TestAsyncDynamoDbClientProvider
@@ -530,13 +532,12 @@ public class DynamoDbSinkWriterTest {
.item()
.get(PARTITION_KEY)
.s()))
- .collect(Collectors.toList());
+ .collect(toList());
BatchWriteItemResponse.Builder responseBuilder = BatchWriteItemResponse.builder();
if (!failedRequests.isEmpty()) {
responseBuilder =
- responseBuilder.unprocessedItems(
- ImmutableMap.of(TABLE_NAME, failedRequests));
+ responseBuilder.unprocessedItems(singletonMap(TABLE_NAME, failedRequests));
}
return CompletableFuture.completedFuture(responseBuilder.build());
}
@@ -588,13 +589,12 @@ public class DynamoDbSinkWriterTest {
"Write request cannot be empty");
}
})
- .collect(Collectors.toList());
+ .collect(toList());
BatchWriteItemResponse.Builder responseBuilder = BatchWriteItemResponse.builder();
if (!failedRequests.isEmpty()) {
responseBuilder =
- responseBuilder.unprocessedItems(
- ImmutableMap.of(TABLE_NAME, failedRequests));
+ responseBuilder.unprocessedItems(singletonMap(TABLE_NAME, failedRequests));
}
return CompletableFuture.completedFuture(responseBuilder.build());
}
diff --git a/flink-connector-dynamodb/src/test/java/org/apache/flink/connector/dynamodb/sink/DynamoDbWriteRequestTest.java b/flink-connector-dynamodb/src/test/java/org/apache/flink/connector/dynamodb/sink/DynamoDbWriteRequestTest.java
index 779d15c..1c43c3c 100644
--- a/flink-connector-dynamodb/src/test/java/org/apache/flink/connector/dynamodb/sink/DynamoDbWriteRequestTest.java
+++ b/flink-connector-dynamodb/src/test/java/org/apache/flink/connector/dynamodb/sink/DynamoDbWriteRequestTest.java
@@ -18,7 +18,6 @@
package org.apache.flink.connector.dynamodb.sink;
-import com.google.common.collect.ImmutableMap;
import org.junit.jupiter.api.Test;
import software.amazon.awssdk.services.dynamodb.model.AttributeValue;
@@ -28,6 +27,7 @@ import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
+import static java.util.Collections.singletonMap;
import static org.assertj.core.api.Assertions.assertThat;
class DynamoDbWriteRequestTest {
@@ -51,7 +51,7 @@ class DynamoDbWriteRequestTest {
DynamoDbWriteRequest dynamoDbWriteRequest =
DynamoDbWriteRequest.builder()
.setItem(
- ImmutableMap.of(
+ singletonMap(
"testKey", AttributeValue.builder().s("testValue").build()))
.setType(DynamoDbWriteRequestType.PUT)
.build();
diff --git a/flink-connector-dynamodb/src/test/java/org/apache/flink/connector/dynamodb/sink/DynamoDbWriterStateSerializerTest.java b/flink-connector-dynamodb/src/test/java/org/apache/flink/connector/dynamodb/sink/DynamoDbWriterStateSerializerTest.java
index 8174817..958efee 100644
--- a/flink-connector-dynamodb/src/test/java/org/apache/flink/connector/dynamodb/sink/DynamoDbWriterStateSerializerTest.java
+++ b/flink-connector-dynamodb/src/test/java/org/apache/flink/connector/dynamodb/sink/DynamoDbWriterStateSerializerTest.java
@@ -21,13 +21,13 @@ package org.apache.flink.connector.dynamodb.sink;
import org.apache.flink.connector.base.sink.writer.BufferedRequestState;
import org.apache.flink.connector.base.sink.writer.ElementConverter;
-import com.google.common.collect.ImmutableMap;
import org.junit.jupiter.api.Test;
import software.amazon.awssdk.services.dynamodb.model.AttributeValue;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
+import static java.util.Collections.singletonMap;
import static org.apache.flink.connector.base.sink.writer.AsyncSinkWriterTestUtils.getTestState;
import static org.assertj.core.api.AssertionsForClassTypes.assertThat;
@@ -42,7 +42,7 @@ public class DynamoDbWriterStateSerializerTest {
DynamoDbWriteRequest.builder()
.setType(DynamoDbWriteRequestType.PUT)
.setItem(
- ImmutableMap.of(
+ singletonMap(
"key", AttributeValue.builder().s(element).build()))
.build();
diff --git a/flink-connector-dynamodb/src/test/java/org/apache/flink/connector/dynamodb/table/DynamoDbDynamicSinkFactoryTest.java b/flink-connector-dynamodb/src/test/java/org/apache/flink/connector/dynamodb/table/DynamoDbDynamicSinkFactoryTest.java
index 9a2e276..0bbe132 100644
--- a/flink-connector-dynamodb/src/test/java/org/apache/flink/connector/dynamodb/table/DynamoDbDynamicSinkFactoryTest.java
+++ b/flink-connector-dynamodb/src/test/java/org/apache/flink/connector/dynamodb/table/DynamoDbDynamicSinkFactoryTest.java
@@ -31,7 +31,6 @@ import org.apache.flink.table.factories.TableOptionsBuilder;
import org.apache.flink.table.factories.TestFormatFactory;
import org.apache.flink.table.runtime.connector.sink.SinkRuntimeProviderContext;
-import com.google.common.collect.ImmutableMap;
import org.junit.jupiter.api.Test;
import java.util.Collections;
@@ -40,6 +39,7 @@ import java.util.List;
import java.util.Map;
import java.util.Properties;
+import static java.util.Collections.singletonMap;
import static org.apache.flink.connector.base.table.AsyncSinkConnectorOptions.FLUSH_BUFFER_SIZE;
import static org.apache.flink.connector.base.table.AsyncSinkConnectorOptions.FLUSH_BUFFER_TIMEOUT;
import static org.apache.flink.connector.base.table.AsyncSinkConnectorOptions.MAX_BATCH_SIZE;
@@ -269,7 +269,7 @@ public class DynamoDbDynamicSinkFactoryTest {
DynamoDbDynamicSink sinkWithStaticPartition =
(DynamoDbDynamicSink) createTableSink(sinkSchema, partitionKeys, sinkOptions);
- sinkWithStaticPartition.applyStaticPartition(ImmutableMap.of("no_op_key", "no_op_value"));
+ sinkWithStaticPartition.applyStaticPartition(singletonMap("no_op_key", "no_op_value"));
// Verify no-op for applyStaticPartition
assertThat(sinkWithStaticPartition).usingRecursiveComparison().isEqualTo(originalSink);
diff --git a/flink-connector-dynamodb/src/test/java/org/apache/flink/connector/dynamodb/table/RowDataToAttributeValueConverterTest.java b/flink-connector-dynamodb/src/test/java/org/apache/flink/connector/dynamodb/table/RowDataToAttributeValueConverterTest.java
index 1109118..5566ae1 100644
--- a/flink-connector-dynamodb/src/test/java/org/apache/flink/connector/dynamodb/table/RowDataToAttributeValueConverterTest.java
+++ b/flink-connector-dynamodb/src/test/java/org/apache/flink/connector/dynamodb/table/RowDataToAttributeValueConverterTest.java
@@ -27,7 +27,6 @@ import org.apache.flink.table.data.StringData;
import org.apache.flink.table.data.TimestampData;
import org.apache.flink.table.types.DataType;
-import com.google.common.collect.ImmutableMap;
import org.junit.jupiter.api.Test;
import software.amazon.awssdk.services.dynamodb.model.AttributeValue;
@@ -39,6 +38,7 @@ import java.util.Map;
import java.util.function.Function;
import java.util.stream.Collectors;
+import static java.util.Collections.singletonMap;
import static org.assertj.core.api.Assertions.assertThat;
/** Test for {@link RowDataToAttributeValueConverter}. */
@@ -56,7 +56,7 @@ public class RowDataToAttributeValueConverterTest {
rowDataToAttributeValueConverter.convertRowData(
createElement(StringData.fromString(value)));
Map<String, AttributeValue> expectedResult =
- ImmutableMap.of(key, AttributeValue.builder().s(value).build());
+ singletonMap(key, AttributeValue.builder().s(value).build());
assertThat(actualResult).containsAllEntriesOf(expectedResult);
}
@@ -73,7 +73,7 @@ public class RowDataToAttributeValueConverterTest {
rowDataToAttributeValueConverter.convertRowData(
createElement(StringData.fromString(value)));
Map<String, AttributeValue> expectedResult =
- ImmutableMap.of(key, AttributeValue.builder().s(value).build());
+ singletonMap(key, AttributeValue.builder().s(value).build());
assertThat(actualResult).containsAllEntriesOf(expectedResult);
}
@@ -90,7 +90,7 @@ public class RowDataToAttributeValueConverterTest {
rowDataToAttributeValueConverter.convertRowData(
createElement(StringData.fromString(value)));
Map<String, AttributeValue> expectedResult =
- ImmutableMap.of(key, AttributeValue.builder().s(value).build());
+ singletonMap(key, AttributeValue.builder().s(value).build());
assertThat(actualResult).containsAllEntriesOf(expectedResult);
}
@@ -106,7 +106,7 @@ public class RowDataToAttributeValueConverterTest {
Map<String, AttributeValue> actualResult =
rowDataToAttributeValueConverter.convertRowData(createElement(value));
Map<String, AttributeValue> expectedResult =
- ImmutableMap.of(key, AttributeValue.builder().bool(value).build());
+ singletonMap(key, AttributeValue.builder().bool(value).build());
assertThat(actualResult).containsAllEntriesOf(expectedResult);
}
@@ -123,7 +123,7 @@ public class RowDataToAttributeValueConverterTest {
rowDataToAttributeValueConverter.convertRowData(
createElement(DecimalData.fromBigDecimal(value, 5, 4)));
Map<String, AttributeValue> expectedResult =
- ImmutableMap.of(key, AttributeValue.builder().n("1.0010").build());
+ singletonMap(key, AttributeValue.builder().n("1.0010").build());
assertThat(actualResult).containsAllEntriesOf(expectedResult);
}
@@ -139,7 +139,7 @@ public class RowDataToAttributeValueConverterTest {
Map<String, AttributeValue> actualResult =
rowDataToAttributeValueConverter.convertRowData(createElement(value));
Map<String, AttributeValue> expectedResult =
- ImmutableMap.of(key, AttributeValue.builder().n("5").build());
+ singletonMap(key, AttributeValue.builder().n("5").build());
assertThat(actualResult).containsAllEntriesOf(expectedResult);
}
@@ -155,7 +155,7 @@ public class RowDataToAttributeValueConverterTest {
Map<String, AttributeValue> actualResult =
rowDataToAttributeValueConverter.convertRowData(createElement(value));
Map<String, AttributeValue> expectedResult =
- ImmutableMap.of(key, AttributeValue.builder().n("256").build());
+ singletonMap(key, AttributeValue.builder().n("256").build());
assertThat(actualResult).containsAllEntriesOf(expectedResult);
}
@@ -171,7 +171,7 @@ public class RowDataToAttributeValueConverterTest {
Map<String, AttributeValue> actualResult =
rowDataToAttributeValueConverter.convertRowData(createElement(value));
Map<String, AttributeValue> expectedResult =
- ImmutableMap.of(key, AttributeValue.builder().n("65536").build());
+ singletonMap(key, AttributeValue.builder().n("65536").build());
assertThat(actualResult).containsAllEntriesOf(expectedResult);
}
@@ -187,7 +187,7 @@ public class RowDataToAttributeValueConverterTest {
Map<String, AttributeValue> actualResult =
rowDataToAttributeValueConverter.convertRowData(createElement(value));
Map<String, AttributeValue> expectedResult =
- ImmutableMap.of(key, AttributeValue.builder().n("4294967295").build());
+ singletonMap(key, AttributeValue.builder().n("4294967295").build());
assertThat(actualResult).containsAllEntriesOf(expectedResult);
}
@@ -203,7 +203,7 @@ public class RowDataToAttributeValueConverterTest {
Map<String, AttributeValue> actualResult =
rowDataToAttributeValueConverter.convertRowData(createElement(value));
Map<String, AttributeValue> expectedResult =
- ImmutableMap.of(key, AttributeValue.builder().n("1.23456791E17").build());
+ singletonMap(key, AttributeValue.builder().n("1.23456791E17").build());
assertThat(actualResult).containsAllEntriesOf(expectedResult);
}
@@ -219,7 +219,7 @@ public class RowDataToAttributeValueConverterTest {
Map<String, AttributeValue> actualResult =
rowDataToAttributeValueConverter.convertRowData(createElement(value));
Map<String, AttributeValue> expectedResult =
- ImmutableMap.of(key, AttributeValue.builder().n("1.234567891234568E19").build());
+ singletonMap(key, AttributeValue.builder().n("1.234567891234568E19").build());
assertThat(actualResult).containsAllEntriesOf(expectedResult);
}
@@ -236,7 +236,7 @@ public class RowDataToAttributeValueConverterTest {
rowDataToAttributeValueConverter.convertRowData(
createElement(TimestampData.fromLocalDateTime(value)));
Map<String, AttributeValue> expectedResult =
- ImmutableMap.of(key, AttributeValue.builder().s("2022-11-10T00:00").build());
+ singletonMap(key, AttributeValue.builder().s("2022-11-10T00:00").build());
assertThat(actualResult).containsAllEntriesOf(expectedResult);
}
@@ -254,7 +254,7 @@ public class RowDataToAttributeValueConverterTest {
rowDataToAttributeValueConverter.convertRowData(
createArray(value, StringData::fromString));
Map<String, AttributeValue> expectedResult =
- ImmutableMap.of(
+ singletonMap(
key,
AttributeValue.builder()
.l(
@@ -278,7 +278,7 @@ public class RowDataToAttributeValueConverterTest {
Map<String, AttributeValue> actualResult =
rowDataToAttributeValueConverter.convertRowData(createArray(value, t -> t));
Map<String, AttributeValue> expectedResult =
- ImmutableMap.of(
+ singletonMap(
key,
AttributeValue.builder()
.l(
@@ -307,7 +307,7 @@ public class RowDataToAttributeValueConverterTest {
rowDataToAttributeValueConverter.convertRowData(
createArray(value, d -> DecimalData.fromBigDecimal(d, 1, 0)));
Map<String, AttributeValue> expectedResult =
- ImmutableMap.of(
+ singletonMap(
key,
AttributeValue.builder()
.l(
@@ -335,7 +335,7 @@ public class RowDataToAttributeValueConverterTest {
Map<String, AttributeValue> actualResult =
rowDataToAttributeValueConverter.convertRowData(createArray(value, t -> t));
Map<String, AttributeValue> expectedResult =
- ImmutableMap.of(
+ singletonMap(
key,
AttributeValue.builder()
.l(
@@ -363,7 +363,7 @@ public class RowDataToAttributeValueConverterTest {
Map<String, AttributeValue> actualResult =
rowDataToAttributeValueConverter.convertRowData(createArray(value, t -> t));
Map<String, AttributeValue> expectedResult =
- ImmutableMap.of(
+ singletonMap(
key,
AttributeValue.builder()
.l(
@@ -390,7 +390,7 @@ public class RowDataToAttributeValueConverterTest {
Map<String, AttributeValue> actualResult =
rowDataToAttributeValueConverter.convertRowData(createArray(value, t -> t));
Map<String, AttributeValue> expectedResult =
- ImmutableMap.of(
+ singletonMap(
key,
AttributeValue.builder()
.l(
@@ -418,7 +418,7 @@ public class RowDataToAttributeValueConverterTest {
Map<String, AttributeValue> actualResult =
rowDataToAttributeValueConverter.convertRowData(createArray(value, t -> t));
Map<String, AttributeValue> expectedResult =
- ImmutableMap.of(
+ singletonMap(
key,
AttributeValue.builder()
.l(
@@ -445,7 +445,7 @@ public class RowDataToAttributeValueConverterTest {
Map<String, AttributeValue> actualResult =
rowDataToAttributeValueConverter.convertRowData(createArray(value, t -> t));
Map<String, AttributeValue> expectedResult =
- ImmutableMap.of(
+ singletonMap(
key,
AttributeValue.builder()
.l(
@@ -473,7 +473,7 @@ public class RowDataToAttributeValueConverterTest {
Map<String, AttributeValue> actualResult =
rowDataToAttributeValueConverter.convertRowData(createArray(value, t -> t));
Map<String, AttributeValue> expectedResult =
- ImmutableMap.of(
+ singletonMap(
key,
AttributeValue.builder()
.l(
@@ -502,7 +502,7 @@ public class RowDataToAttributeValueConverterTest {
rowDataToAttributeValueConverter.convertRowData(
createArray(value, TimestampData::fromLocalDateTime));
Map<String, AttributeValue> expectedResult =
- ImmutableMap.of(
+ singletonMap(
key,
AttributeValue.builder()
.l(
@@ -531,7 +531,7 @@ public class RowDataToAttributeValueConverterTest {
rowDataToAttributeValueConverter.convertRowData(
createArray(value, TimestampData::fromInstant));
Map<String, AttributeValue> expectedResult =
- ImmutableMap.of(
+ singletonMap(
key,
AttributeValue.builder()
.l(
diff --git a/flink-connector-dynamodb/src/test/java/org/apache/flink/connector/dynamodb/util/DynamoDbSerializationUtilTest.java b/flink-connector-dynamodb/src/test/java/org/apache/flink/connector/dynamodb/util/DynamoDbSerializationUtilTest.java
index b44d065..1c128fb 100644
--- a/flink-connector-dynamodb/src/test/java/org/apache/flink/connector/dynamodb/util/DynamoDbSerializationUtilTest.java
+++ b/flink-connector-dynamodb/src/test/java/org/apache/flink/connector/dynamodb/util/DynamoDbSerializationUtilTest.java
@@ -21,7 +21,6 @@ package org.apache.flink.connector.dynamodb.util;
import org.apache.flink.connector.dynamodb.sink.DynamoDbWriteRequest;
import org.apache.flink.connector.dynamodb.sink.DynamoDbWriteRequestType;
-import com.google.common.collect.ImmutableMap;
import org.junit.jupiter.api.Test;
import software.amazon.awssdk.core.SdkBytes;
import software.amazon.awssdk.services.dynamodb.model.AttributeValue;
@@ -67,21 +66,16 @@ public class DynamoDbSerializationUtilTest {
AttributeValue.builder().s("s1").build(),
AttributeValue.builder().s("s2").build())
.build());
- item.put(
- "map",
- AttributeValue.builder()
- .m(
- ImmutableMap.of(
- "key1", AttributeValue.builder().s("string").build(),
- "key2", AttributeValue.builder().n("12345").build(),
- "binary",
- AttributeValue.builder()
- .b(
- SdkBytes.fromByteArray(
- new byte[] {1, 2, 3}))
- .build(),
- "null", AttributeValue.builder().nul(true).build()))
- .build());
+
+ Map<String, AttributeValue> nestedMap = new HashMap<>();
+ nestedMap.put("key1", AttributeValue.builder().s("string").build());
+ nestedMap.put("key2", AttributeValue.builder().n("12345").build());
+ nestedMap.put(
+ "binary",
+ AttributeValue.builder().b(SdkBytes.fromByteArray(new byte[] {1, 2, 3})).build());
+ nestedMap.put("null", AttributeValue.builder().nul(true).build());
+
+ item.put("map", AttributeValue.builder().m(nestedMap).build());
DynamoDbWriteRequest dynamoDbWriteRequest =
DynamoDbWriteRequest.builder()
.setItem(item)
diff --git a/flink-connector-dynamodb/src/test/java/org/apache/flink/connector/dynamodb/util/PrimaryKeyBuilderTest.java b/flink-connector-dynamodb/src/test/java/org/apache/flink/connector/dynamodb/util/PrimaryKeyBuilderTest.java
index 1bf73ba..b6fb3fa 100644
--- a/flink-connector-dynamodb/src/test/java/org/apache/flink/connector/dynamodb/util/PrimaryKeyBuilderTest.java
+++ b/flink-connector-dynamodb/src/test/java/org/apache/flink/connector/dynamodb/util/PrimaryKeyBuilderTest.java
@@ -21,8 +21,6 @@ package org.apache.flink.connector.dynamodb.util;
import org.apache.flink.connector.dynamodb.sink.InvalidConfigurationException;
import org.apache.flink.connector.dynamodb.sink.InvalidRequestException;
-import com.google.common.collect.ImmutableList;
-import com.google.common.collect.ImmutableMap;
import org.junit.jupiter.api.Test;
import software.amazon.awssdk.core.SdkBytes;
import software.amazon.awssdk.services.dynamodb.model.AttributeValue;
@@ -31,8 +29,13 @@ import software.amazon.awssdk.services.dynamodb.model.PutRequest;
import software.amazon.awssdk.services.dynamodb.model.WriteRequest;
import java.nio.charset.StandardCharsets;
+import java.util.Arrays;
+import java.util.HashMap;
import java.util.Map;
+import static java.util.Collections.emptyList;
+import static java.util.Collections.singletonList;
+import static java.util.Collections.singletonMap;
import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.assertThatExceptionOfType;
@@ -42,18 +45,21 @@ public class PrimaryKeyBuilderTest {
private static final String PARTITION_KEY_NAME = "part_key_name";
private static final String SORT_KEY_NAME = "sort_key_name";
- private ImmutableMap<String, AttributeValue> createItemValues() {
- return ImmutableMap.of(
+ private Map<String, AttributeValue> createItemValues() {
+ final Map<String, AttributeValue> values = new HashMap<>();
+ values.put(
PARTITION_KEY_NAME,
AttributeValue.builder()
.s("123")
.n("456")
.b(SdkBytes.fromString("789", StandardCharsets.UTF_8))
- .build(),
- SORT_KEY_NAME,
- AttributeValue.builder().s("101112").build(),
- "some_item",
- AttributeValue.builder().bool(false).build());
+ .build());
+
+ values.put(SORT_KEY_NAME, AttributeValue.builder().s("101112").build());
+
+ values.put("some_item", AttributeValue.builder().bool(false).build());
+
+ return values;
}
public WriteRequest createPutItemRequest(Map<String, AttributeValue> itemValues) {
@@ -70,30 +76,27 @@ public class PrimaryKeyBuilderTest {
@Test
public void testPrimaryKeyDelimited() {
- WriteRequest putRequestOne =
- createPutItemRequest(
- ImmutableMap.of(
- PARTITION_KEY_NAME,
- AttributeValue.builder().s("ab").build(),
- SORT_KEY_NAME,
- AttributeValue.builder().s("cd").build()));
-
- WriteRequest putRequestTwo =
- createPutItemRequest(
- ImmutableMap.of(
- PARTITION_KEY_NAME,
- AttributeValue.builder().s("a").build(),
- SORT_KEY_NAME,
- AttributeValue.builder().s("bcd").build()));
+ Map<String, AttributeValue> itemValuesOne = new HashMap<>();
+ itemValuesOne.put(PARTITION_KEY_NAME, AttributeValue.builder().s("ab").build());
+ itemValuesOne.put(SORT_KEY_NAME, AttributeValue.builder().s("cd").build());
+
+ WriteRequest putRequestOne = createPutItemRequest(itemValuesOne);
+
+ Map<String, AttributeValue> itemValuesTwo = new HashMap<>();
+ itemValuesTwo.put(PARTITION_KEY_NAME, AttributeValue.builder().s("a").build());
+ itemValuesTwo.put(SORT_KEY_NAME, AttributeValue.builder().s("bcd").build());
+
+ WriteRequest putRequestTwo = createPutItemRequest(itemValuesTwo);
PrimaryKeyBuilder keyBuilder =
- new PrimaryKeyBuilder(ImmutableList.of(PARTITION_KEY_NAME, SORT_KEY_NAME));
+ new PrimaryKeyBuilder(Arrays.asList(PARTITION_KEY_NAME, SORT_KEY_NAME));
+
assertThat(keyBuilder.build(putRequestOne)).isNotEqualTo(keyBuilder.build(putRequestTwo));
}
@Test
public void testPartitionKeysOfTwoDifferentRequestsEqual() {
- PrimaryKeyBuilder keyBuilder = new PrimaryKeyBuilder(ImmutableList.of(PARTITION_KEY_NAME));
+ PrimaryKeyBuilder keyBuilder = new PrimaryKeyBuilder(singletonList(PARTITION_KEY_NAME));
assertThat(keyBuilder.build(createPutItemRequest(createItemValues())))
.isEqualTo(keyBuilder.build(createDeleteItemRequest(createItemValues())));
}
@@ -101,7 +104,7 @@ public class PrimaryKeyBuilderTest {
@Test
public void testCompositeKeysOfTwoDifferentRequestsEqual() {
PrimaryKeyBuilder keyBuilder =
- new PrimaryKeyBuilder(ImmutableList.of(PARTITION_KEY_NAME, SORT_KEY_NAME));
+ new PrimaryKeyBuilder(Arrays.asList(PARTITION_KEY_NAME, SORT_KEY_NAME));
assertThat(keyBuilder.build(createPutItemRequest(createItemValues())))
.isEqualTo(keyBuilder.build(createDeleteItemRequest(createItemValues())));
@@ -110,7 +113,7 @@ public class PrimaryKeyBuilderTest {
@Test
public void testExceptOnEmptyPartitionKeys() {
assertThatExceptionOfType(InvalidConfigurationException.class)
- .isThrownBy(() -> new PrimaryKeyBuilder(ImmutableList.of()))
+ .isThrownBy(() -> new PrimaryKeyBuilder(emptyList()))
.withMessageContaining(
"Unable to construct partition key as overwriteByPartitionKeys configuration not provided.");
}
@@ -120,7 +123,7 @@ public class PrimaryKeyBuilderTest {
assertThatExceptionOfType(InvalidRequestException.class)
.isThrownBy(
() ->
- new PrimaryKeyBuilder(ImmutableList.of(PARTITION_KEY_NAME))
+ new PrimaryKeyBuilder(singletonList(PARTITION_KEY_NAME))
.build(WriteRequest.builder().build()))
.withMessageContaining("Empty write request");
}
@@ -130,7 +133,7 @@ public class PrimaryKeyBuilderTest {
assertThatExceptionOfType(InvalidRequestException.class)
.isThrownBy(
() ->
- new PrimaryKeyBuilder(ImmutableList.of(PARTITION_KEY_NAME))
+ new PrimaryKeyBuilder(singletonList(PARTITION_KEY_NAME))
.build(
WriteRequest.builder()
.putRequest(PutRequest.builder().build())
@@ -143,7 +146,7 @@ public class PrimaryKeyBuilderTest {
assertThatExceptionOfType(InvalidRequestException.class)
.isThrownBy(
() ->
- new PrimaryKeyBuilder(ImmutableList.of(PARTITION_KEY_NAME))
+ new PrimaryKeyBuilder(singletonList(PARTITION_KEY_NAME))
.build(
WriteRequest.builder()
.deleteRequest(
@@ -154,26 +157,26 @@ public class PrimaryKeyBuilderTest {
@Test
public void testExceptWhenNoPartitionKey() {
- ImmutableMap<String, AttributeValue> itemValues =
- ImmutableMap.of("some_item", AttributeValue.builder().bool(false).build());
+ Map<String, AttributeValue> itemValues =
+ singletonMap("some_item", AttributeValue.builder().bool(false).build());
assertThatExceptionOfType(InvalidRequestException.class)
.isThrownBy(
() ->
- new PrimaryKeyBuilder(ImmutableList.of(PARTITION_KEY_NAME))
+ new PrimaryKeyBuilder(singletonList(PARTITION_KEY_NAME))
.build(createPutItemRequest(itemValues)))
.withMessageContaining("does not contain partition key part_key_name.");
}
@Test
public void testExceptWhenEmptyKey() {
- ImmutableMap<String, AttributeValue> itemValues =
- ImmutableMap.of(PARTITION_KEY_NAME, AttributeValue.builder().s("").build());
+ Map<String, AttributeValue> itemValues =
+ singletonMap(PARTITION_KEY_NAME, AttributeValue.builder().s("").build());
assertThatExceptionOfType(InvalidRequestException.class)
.isThrownBy(
() ->
- new PrimaryKeyBuilder(ImmutableList.of(PARTITION_KEY_NAME))
+ new PrimaryKeyBuilder(singletonList(PARTITION_KEY_NAME))
.build(createPutItemRequest(itemValues)))
.withMessageContaining(
"Partition key or sort key attributes require non-empty values.");
@@ -181,35 +184,29 @@ public class PrimaryKeyBuilderTest {
@Test
public void testExceptWhenNoPartitionKeyCompositeKey() {
- ImmutableMap<String, AttributeValue> itemValues =
- ImmutableMap.of(
- SORT_KEY_NAME,
- AttributeValue.builder().s("101112").build(),
- "some_item",
- AttributeValue.builder().bool(false).build());
+ Map<String, AttributeValue> itemValues = new HashMap<>();
+ itemValues.put(SORT_KEY_NAME, AttributeValue.builder().s("101112").build());
+ itemValues.put("some_item", AttributeValue.builder().bool(false).build());
assertThatExceptionOfType(InvalidRequestException.class)
.isThrownBy(
() ->
- new PrimaryKeyBuilder(ImmutableList.of(PARTITION_KEY_NAME))
+ new PrimaryKeyBuilder(singletonList(PARTITION_KEY_NAME))
.build(createPutItemRequest(itemValues)))
.withMessageContaining("does not contain partition key part_key_name.");
}
@Test
public void testExceptWhenNoSortKey() {
- ImmutableMap<String, AttributeValue> itemValues =
- ImmutableMap.of(
- PARTITION_KEY_NAME,
- AttributeValue.builder().s("101112").build(),
- "some_item",
- AttributeValue.builder().bool(false).build());
+ Map<String, AttributeValue> itemValues = new HashMap<>();
+ itemValues.put(PARTITION_KEY_NAME, AttributeValue.builder().s("101112").build());
+ itemValues.put("some_item", AttributeValue.builder().bool(false).build());
assertThatExceptionOfType(InvalidRequestException.class)
.isThrownBy(
() ->
new PrimaryKeyBuilder(
- ImmutableList.of(PARTITION_KEY_NAME, SORT_KEY_NAME))
+ Arrays.asList(PARTITION_KEY_NAME, SORT_KEY_NAME))
.build(createPutItemRequest(itemValues)))
.withMessageContaining("does not contain partition key sort_key_name.");
}
diff --git a/flink-connector-kinesis/src/main/resources/META-INF/NOTICE b/flink-connector-kinesis/src/main/resources/META-INF/NOTICE
index 2f5d166..af79451 100644
--- a/flink-connector-kinesis/src/main/resources/META-INF/NOTICE
+++ b/flink-connector-kinesis/src/main/resources/META-INF/NOTICE
@@ -8,7 +8,6 @@ This project bundles the following dependencies under the Apache Software Licens
- software.amazon.ion:ion-java:1.0.2
- software.amazon.eventstream:eventstream:1.0.1
-- software.amazon.awssdk:arns:2.20.32
- software.amazon.awssdk:utils:2.20.32
- software.amazon.awssdk:third-party-jackson-dataformat-cbor:2.20.32
- software.amazon.awssdk:third-party-jackson-core:2.20.32
@@ -28,6 +27,7 @@ This project bundles the following dependencies under the Apache Software Licens
- software.amazon.awssdk:aws-core:2.20.32
- software.amazon.awssdk:aws-cbor-protocol:2.20.32
- software.amazon.awssdk:auth:2.20.32
+- software.amazon.awssdk:arns:2.20.32
- software.amazon.awssdk:apache-client:2.20.32
- software.amazon.awssdk:annotations:2.20.32
- org.apache.httpcomponents:httpcore:4.4.14
@@ -42,10 +42,10 @@ This project bundles the following dependencies under the Apache Software Licens
- io.netty:netty-codec-http:4.1.86.Final
- io.netty:netty-codec-http2:4.1.86.Final
- io.netty:netty-buffer:4.1.86.Final
-- com.fasterxml.jackson.dataformat:jackson-dataformat-cbor:2.13.4
-- com.fasterxml.jackson.core:jackson-databind:2.13.4.2
-- com.fasterxml.jackson.core:jackson-core:2.13.4
-- com.fasterxml.jackson.core:jackson-annotations:2.13.4
+- com.fasterxml.jackson.dataformat:jackson-dataformat-cbor:2.14.3
+- com.fasterxml.jackson.core:jackson-databind:2.14.3
+- com.fasterxml.jackson.core:jackson-core:2.14.3
+- com.fasterxml.jackson.core:jackson-annotations:2.14.3
- com.amazonaws:jmespath-java:1.12.439
- com.amazonaws:dynamodb-streams-kinesis-adapter:1.5.3
- com.amazonaws:aws-java-sdk-sts:1.12.439
diff --git a/flink-sql-connector-aws-kinesis-streams/src/main/resources/META-INF/NOTICE b/flink-sql-connector-aws-kinesis-streams/src/main/resources/META-INF/NOTICE
index 2fb089e..3185b03 100644
--- a/flink-sql-connector-aws-kinesis-streams/src/main/resources/META-INF/NOTICE
+++ b/flink-sql-connector-aws-kinesis-streams/src/main/resources/META-INF/NOTICE
@@ -26,6 +26,7 @@ This project bundles the following dependencies under the Apache Software Licens
- software.amazon.awssdk:aws-core:2.20.32
- software.amazon.awssdk:aws-cbor-protocol:2.20.32
- software.amazon.awssdk:auth:2.20.32
+- software.amazon.awssdk:arns:2.20.32
- software.amazon.awssdk:apache-client:2.20.32
- software.amazon.awssdk:annotations:2.20.32
- org.apache.httpcomponents:httpcore:4.4.14
diff --git a/pom.xml b/pom.xml
index a1391b8..d5a03ac 100644
--- a/pom.xml
+++ b/pom.xml
@@ -158,6 +158,27 @@ under the License.
<dependencyManagement>
<dependencies>
+ <dependency>
+ <groupId>org.apache.flink</groupId>
+ <artifactId>flink-connector-aws-base</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.flink</groupId>
+ <artifactId>flink-connector-base</artifactId>
+ <version>${flink.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.flink</groupId>
+ <artifactId>flink-table-common</artifactId>
+ <version>${flink.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.flink</groupId>
+ <artifactId>flink-avro</artifactId>
+ <version>${flink.version}</version>
+ </dependency>
+
<dependency>
<groupId>com.amazonaws</groupId>
<artifactId>aws-java-sdk-bom</artifactId>
diff --git a/tools/maven/checkstyle.xml b/tools/maven/checkstyle.xml
index 5b90006..29ff116 100644
--- a/tools/maven/checkstyle.xml
+++ b/tools/maven/checkstyle.xml
@@ -200,7 +200,7 @@ This file is based on the checkstyle file of Apache Beam.
<!-- Checks for out of order import statements. -->
<property name="severity" value="error"/>
<property name="groups"
- value="org.apache.flink,*,javax,java,scala"/>
+ value="org.apache.flink,org.apache.flink.shaded,*,javax,java,scala"/>
<property name="separated" value="true"/>
<property name="sortStaticImportsAlphabetically" value="true"/>
<property name="option" value="bottom"/>
[flink-connector-aws] 01/02: [FLINK-32208] Remove dependency on flink-shaded from flink-connector-aws
Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
dannycranmer pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/flink-connector-aws.git
commit 6cacefe76293391b910a4e1212685c502a0b9dc3
Author: Sergey Nuyanzin <sn...@gmail.com>
AuthorDate: Fri May 26 15:29:12 2023 +0200
[FLINK-32208] Remove dependency on flink-shaded from flink-connector-aws
---
.../pom.xml | 10 ++++++++
.../table/test/KinesisFirehoseTableITTest.java | 28 ++++++++++++++++------
.../pom.xml | 18 ++++++++++++++
.../table/test/KinesisStreamsTableApiIT.java | 28 ++++++++++++++++------
.../kinesis/test/KinesisTableApiITCase.java | 27 ++++++++++++++++-----
.../flink/streaming/kinesis/test/model/Order.java | 2 +-
flink-connector-aws-kinesis-firehose/pom.xml | 15 ++++++++++++
.../sink/testutils/KinesisFirehoseTestUtils.java | 24 +++++++++++++++----
flink-connector-aws-kinesis-streams/pom.xml | 10 ++++++++
.../kinesis/sink/examples/SinkIntoKinesis.java | 22 +++++++++++++----
flink-connector-dynamodb/pom.xml | 6 +++++
.../dynamodb/sink/DynamoDbSinkWriter.java | 3 +--
.../dynamodb/table/DynamoDbDynamicSinkFactory.java | 2 +-
.../dynamodb/sink/DynamoDbSinkITCase.java | 3 +--
.../dynamodb/sink/DynamoDbSinkWriterTest.java | 5 ++--
.../dynamodb/sink/DynamoDbWriteRequestTest.java | 3 +--
.../sink/DynamoDbWriterStateSerializerTest.java | 3 +--
.../table/DynamoDbDynamicSinkFactoryTest.java | 3 +--
.../RowDataToAttributeValueConverterTest.java | 3 +--
.../util/DynamoDbSerializationUtilTest.java | 3 +--
.../dynamodb/util/PrimaryKeyBuilderTest.java | 5 ++--
.../kinesis/testutils/KinesisPubsubClient.java | 3 +--
...inesisDataFetcherForShardConsumerException.java | 2 +-
pom.xml | 17 +++----------
tools/maven/checkstyle.xml | 18 +-------------
25 files changed, 178 insertions(+), 85 deletions(-)
diff --git a/flink-connector-aws-e2e-tests/flink-connector-aws-kinesis-firehose-e2e-tests/pom.xml b/flink-connector-aws-e2e-tests/flink-connector-aws-kinesis-firehose-e2e-tests/pom.xml
index 8f98b21..5985107 100644
--- a/flink-connector-aws-e2e-tests/flink-connector-aws-kinesis-firehose-e2e-tests/pom.xml
+++ b/flink-connector-aws-e2e-tests/flink-connector-aws-kinesis-firehose-e2e-tests/pom.xml
@@ -75,6 +75,16 @@
<artifactId>jackson-databind</artifactId>
</dependency>
+ <dependency>
+ <groupId>com.fasterxml.jackson.datatype</groupId>
+ <artifactId>jackson-datatype-jsr310</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>com.fasterxml.jackson.datatype</groupId>
+ <artifactId>jackson-datatype-jdk8</artifactId>
+ </dependency>
+
<dependency>
<groupId>software.amazon.awssdk</groupId>
<artifactId>s3</artifactId>
diff --git a/flink-connector-aws-e2e-tests/flink-connector-aws-kinesis-firehose-e2e-tests/src/test/java/org/apache/flink/connector/firehose/table/test/KinesisFirehoseTableITTest.java b/flink-connector-aws-e2e-tests/flink-connector-aws-kinesis-firehose-e2e-tests/src/test/java/org/apache/flink/connector/firehose/table/test/KinesisFirehoseTableITTest.java
index 0741ea5..b86c253 100644
--- a/flink-connector-aws-e2e-tests/flink-connector-aws-kinesis-firehose-e2e-tests/src/test/java/org/apache/flink/connector/firehose/table/test/KinesisFirehoseTableITTest.java
+++ b/flink-connector-aws-e2e-tests/flink-connector-aws-kinesis-firehose-e2e-tests/src/test/java/org/apache/flink/connector/firehose/table/test/KinesisFirehoseTableITTest.java
@@ -26,13 +26,14 @@ import org.apache.flink.test.resources.ResourceTestUtils;
import org.apache.flink.test.util.SQLJobSubmission;
import org.apache.flink.util.DockerImageVersions;
import org.apache.flink.util.TestLogger;
-import org.apache.flink.util.jackson.JacksonMapperFactory;
-
-import org.apache.flink.shaded.jackson2.com.fasterxml.jackson.annotation.JsonCreator;
-import org.apache.flink.shaded.jackson2.com.fasterxml.jackson.annotation.JsonProperty;
-import org.apache.flink.shaded.jackson2.com.fasterxml.jackson.core.JsonProcessingException;
-import org.apache.flink.shaded.jackson2.com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.SerializationFeature;
+import com.fasterxml.jackson.datatype.jdk8.Jdk8Module;
+import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
import org.assertj.core.api.Assertions;
import org.junit.After;
import org.junit.AfterClass;
@@ -82,7 +83,7 @@ public class KinesisFirehoseTableITTest extends TestLogger {
private static final String BUCKET_NAME = "s3-firehose";
private static final String STREAM_NAME = "s3-stream";
- private static final ObjectMapper OBJECT_MAPPER = JacksonMapperFactory.createObjectMapper();
+ private static final ObjectMapper OBJECT_MAPPER = createObjectMapper();
private final Path sqlConnectorFirehoseJar = ResourceTestUtils.getResource(".*firehose.jar");
@@ -254,4 +255,17 @@ public class KinesisFirehoseTableITTest extends TestLogger {
return "Order{" + "code='" + code + '\'' + ", quantity=" + quantity + '}';
}
}
+
+ private static ObjectMapper createObjectMapper() {
+ ObjectMapper objectMapper = new ObjectMapper();
+ registerModules(objectMapper);
+ return objectMapper;
+ }
+
+ private static void registerModules(ObjectMapper mapper) {
+ mapper.registerModule(new JavaTimeModule())
+ .registerModule((new Jdk8Module()).configureAbsentsAsNulls(true))
+ .disable(SerializationFeature.WRITE_DURATIONS_AS_TIMESTAMPS)
+ .disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS);
+ }
}
diff --git a/flink-connector-aws-e2e-tests/flink-connector-aws-kinesis-streams-e2e-tests/pom.xml b/flink-connector-aws-e2e-tests/flink-connector-aws-kinesis-streams-e2e-tests/pom.xml
index afbe03d..3ce3764 100644
--- a/flink-connector-aws-e2e-tests/flink-connector-aws-kinesis-streams-e2e-tests/pom.xml
+++ b/flink-connector-aws-e2e-tests/flink-connector-aws-kinesis-streams-e2e-tests/pom.xml
@@ -69,11 +69,29 @@
</exclusions>
</dependency>
+ <!-- Other third-party dependencies -->
+ <dependency>
+ <groupId>com.google.guava</groupId>
+ <artifactId>guava</artifactId>
+ </dependency>
+
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<scope>test</scope>
</dependency>
+
+ <dependency>
+ <groupId>com.fasterxml.jackson.datatype</groupId>
+ <artifactId>jackson-datatype-jsr310</artifactId>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>com.fasterxml.jackson.datatype</groupId>
+ <artifactId>jackson-datatype-jdk8</artifactId>
+ <scope>test</scope>
+ </dependency>
</dependencies>
<build>
diff --git a/flink-connector-aws-e2e-tests/flink-connector-aws-kinesis-streams-e2e-tests/src/test/java/org/apache/flink/connector/kinesis/table/test/KinesisStreamsTableApiIT.java b/flink-connector-aws-e2e-tests/flink-connector-aws-kinesis-streams-e2e-tests/src/test/java/org/apache/flink/connector/kinesis/table/test/KinesisStreamsTableApiIT.java
index 6c0a944..312e432 100644
--- a/flink-connector-aws-e2e-tests/flink-connector-aws-kinesis-streams-e2e-tests/src/test/java/org/apache/flink/connector/kinesis/table/test/KinesisStreamsTableApiIT.java
+++ b/flink-connector-aws-e2e-tests/flink-connector-aws-kinesis-streams-e2e-tests/src/test/java/org/apache/flink/connector/kinesis/table/test/KinesisStreamsTableApiIT.java
@@ -27,13 +27,14 @@ import org.apache.flink.connectors.kinesis.testutils.KinesaliteContainer;
import org.apache.flink.test.resources.ResourceTestUtils;
import org.apache.flink.test.util.SQLJobSubmission;
import org.apache.flink.util.DockerImageVersions;
-import org.apache.flink.util.jackson.JacksonMapperFactory;
-
-import org.apache.flink.shaded.guava30.com.google.common.collect.ImmutableList;
-import org.apache.flink.shaded.jackson2.com.fasterxml.jackson.annotation.JsonProperty;
-import org.apache.flink.shaded.jackson2.com.fasterxml.jackson.core.JsonProcessingException;
-import org.apache.flink.shaded.jackson2.com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.SerializationFeature;
+import com.fasterxml.jackson.datatype.jdk8.Jdk8Module;
+import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
+import com.google.common.collect.ImmutableList;
import org.assertj.core.api.Assertions;
import org.junit.After;
import org.junit.AfterClass;
@@ -79,7 +80,7 @@ public class KinesisStreamsTableApiIT {
private static final String ORDERS_STREAM = "orders";
private static final String INTER_CONTAINER_KINESALITE_ALIAS = "kinesalite";
private static final String DEFAULT_FIRST_SHARD_NAME = "shardId-000000000000";
- private static final ObjectMapper OBJECT_MAPPER = JacksonMapperFactory.createObjectMapper();
+ private static final ObjectMapper OBJECT_MAPPER = createObjectMapper();
private SdkHttpClient httpClient;
private KinesisClient kinesisClient;
@@ -268,4 +269,17 @@ public class KinesisStreamsTableApiIT {
return String.format("Order{code: %s, quantity: %d}", code, quantity);
}
}
+
+ private static ObjectMapper createObjectMapper() {
+ ObjectMapper objectMapper = new ObjectMapper();
+ registerModules(objectMapper);
+ return objectMapper;
+ }
+
+ private static void registerModules(ObjectMapper mapper) {
+ mapper.registerModule(new JavaTimeModule())
+ .registerModule((new Jdk8Module()).configureAbsentsAsNulls(true))
+ .disable(SerializationFeature.WRITE_DURATIONS_AS_TIMESTAMPS)
+ .disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS);
+ }
}
diff --git a/flink-connector-aws-e2e-tests/flink-connector-kinesis-e2e-tests/src/test/java/org/apache/flink/streaming/kinesis/test/KinesisTableApiITCase.java b/flink-connector-aws-e2e-tests/flink-connector-kinesis-e2e-tests/src/test/java/org/apache/flink/streaming/kinesis/test/KinesisTableApiITCase.java
index 5597b57..5642384 100644
--- a/flink-connector-aws-e2e-tests/flink-connector-kinesis-e2e-tests/src/test/java/org/apache/flink/streaming/kinesis/test/KinesisTableApiITCase.java
+++ b/flink-connector-aws-e2e-tests/flink-connector-kinesis-e2e-tests/src/test/java/org/apache/flink/streaming/kinesis/test/KinesisTableApiITCase.java
@@ -28,12 +28,13 @@ import org.apache.flink.test.resources.ResourceTestUtils;
import org.apache.flink.test.util.SQLJobSubmission;
import org.apache.flink.util.DockerImageVersions;
import org.apache.flink.util.TestLogger;
-import org.apache.flink.util.jackson.JacksonMapperFactory;
-
-import org.apache.flink.shaded.guava30.com.google.common.collect.ImmutableList;
-import org.apache.flink.shaded.jackson2.com.fasterxml.jackson.core.JsonProcessingException;
-import org.apache.flink.shaded.jackson2.com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.SerializationFeature;
+import com.fasterxml.jackson.datatype.jdk8.Jdk8Module;
+import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
+import com.google.common.collect.ImmutableList;
import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
@@ -67,7 +68,7 @@ public class KinesisTableApiITCase extends TestLogger {
private static final String LARGE_ORDERS_STREAM = "large_orders";
private static final String INTER_CONTAINER_KINESALITE_ALIAS = "kinesalite";
- private static final ObjectMapper OBJECT_MAPPER = JacksonMapperFactory.createObjectMapper();
+ private static final ObjectMapper OBJECT_MAPPER = createObjectMapper();
private final Path sqlConnectorKinesisJar = ResourceTestUtils.getResource(".*kinesis.jar");
private static final Network network = Network.newNetwork();
@@ -181,4 +182,18 @@ public class KinesisTableApiITCase extends TestLogger {
throw new RuntimeException("Test Failure.", e);
}
}
+
+ private static com.fasterxml.jackson.databind.ObjectMapper createObjectMapper() {
+ com.fasterxml.jackson.databind.ObjectMapper objectMapper =
+ new com.fasterxml.jackson.databind.ObjectMapper();
+ registerModules(objectMapper);
+ return objectMapper;
+ }
+
+ private static void registerModules(com.fasterxml.jackson.databind.ObjectMapper mapper) {
+ mapper.registerModule(new JavaTimeModule())
+ .registerModule((new Jdk8Module()).configureAbsentsAsNulls(true))
+ .disable(SerializationFeature.WRITE_DURATIONS_AS_TIMESTAMPS)
+ .disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS);
+ }
}
diff --git a/flink-connector-aws-e2e-tests/flink-connector-kinesis-e2e-tests/src/test/java/org/apache/flink/streaming/kinesis/test/model/Order.java b/flink-connector-aws-e2e-tests/flink-connector-kinesis-e2e-tests/src/test/java/org/apache/flink/streaming/kinesis/test/model/Order.java
index 58cec30..15c158c 100644
--- a/flink-connector-aws-e2e-tests/flink-connector-kinesis-e2e-tests/src/test/java/org/apache/flink/streaming/kinesis/test/model/Order.java
+++ b/flink-connector-aws-e2e-tests/flink-connector-kinesis-e2e-tests/src/test/java/org/apache/flink/streaming/kinesis/test/model/Order.java
@@ -17,7 +17,7 @@
package org.apache.flink.streaming.kinesis.test.model;
-import org.apache.flink.shaded.jackson2.com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonProperty;
import java.util.Objects;
diff --git a/flink-connector-aws-kinesis-firehose/pom.xml b/flink-connector-aws-kinesis-firehose/pom.xml
index f5106ac..82ad87c 100644
--- a/flink-connector-aws-kinesis-firehose/pom.xml
+++ b/flink-connector-aws-kinesis-firehose/pom.xml
@@ -126,6 +126,21 @@ under the License.
<scope>test</scope>
</dependency>
+ <dependency>
+ <groupId>com.fasterxml.jackson.core</groupId>
+ <artifactId>jackson-core</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>com.fasterxml.jackson.datatype</groupId>
+ <artifactId>jackson-datatype-jsr310</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>com.fasterxml.jackson.datatype</groupId>
+ <artifactId>jackson-datatype-jdk8</artifactId>
+ </dependency>
+
<!-- ArchUit test dependencies -->
<dependency>
diff --git a/flink-connector-aws-kinesis-firehose/src/test/java/org/apache/flink/connector/firehose/sink/testutils/KinesisFirehoseTestUtils.java b/flink-connector-aws-kinesis-firehose/src/test/java/org/apache/flink/connector/firehose/sink/testutils/KinesisFirehoseTestUtils.java
index f4dee62..0a712fe 100644
--- a/flink-connector-aws-kinesis-firehose/src/test/java/org/apache/flink/connector/firehose/sink/testutils/KinesisFirehoseTestUtils.java
+++ b/flink-connector-aws-kinesis-firehose/src/test/java/org/apache/flink/connector/firehose/sink/testutils/KinesisFirehoseTestUtils.java
@@ -20,11 +20,12 @@ package org.apache.flink.connector.firehose.sink.testutils;
import org.apache.flink.connector.aws.testutils.AWSServicesTestUtils;
import org.apache.flink.streaming.api.datastream.DataStream;
import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment;
-import org.apache.flink.util.jackson.JacksonMapperFactory;
-
-import org.apache.flink.shaded.jackson2.com.fasterxml.jackson.core.JsonProcessingException;
-import org.apache.flink.shaded.jackson2.com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.SerializationFeature;
+import com.fasterxml.jackson.datatype.jdk8.Jdk8Module;
+import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
import software.amazon.awssdk.http.SdkHttpClient;
import software.amazon.awssdk.services.firehose.FirehoseClient;
import software.amazon.awssdk.services.firehose.model.CreateDeliveryStreamRequest;
@@ -40,7 +41,7 @@ import java.util.List;
*/
public class KinesisFirehoseTestUtils {
- private static final ObjectMapper MAPPER = JacksonMapperFactory.createObjectMapper();
+ private static final ObjectMapper MAPPER = createObjectMapper();
public static FirehoseClient createFirehoseClient(String endpoint, SdkHttpClient httpClient) {
return AWSServicesTestUtils.createAwsSyncClient(
@@ -83,4 +84,17 @@ public class KinesisFirehoseTestUtils {
}
return expectedElements;
}
+
+ private static ObjectMapper createObjectMapper() {
+ ObjectMapper objectMapper = new ObjectMapper();
+ registerModules(objectMapper);
+ return objectMapper;
+ }
+
+ private static void registerModules(ObjectMapper mapper) {
+ mapper.registerModule(new JavaTimeModule())
+ .registerModule((new Jdk8Module()).configureAbsentsAsNulls(true))
+ .disable(SerializationFeature.WRITE_DURATIONS_AS_TIMESTAMPS)
+ .disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS);
+ }
}
diff --git a/flink-connector-aws-kinesis-streams/pom.xml b/flink-connector-aws-kinesis-streams/pom.xml
index 5e8c454..6a614a6 100644
--- a/flink-connector-aws-kinesis-streams/pom.xml
+++ b/flink-connector-aws-kinesis-streams/pom.xml
@@ -128,6 +128,16 @@ under the License.
<scope>test</scope>
</dependency>
+ <dependency>
+ <groupId>com.fasterxml.jackson.datatype</groupId>
+ <artifactId>jackson-datatype-jsr310</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>com.fasterxml.jackson.datatype</groupId>
+ <artifactId>jackson-datatype-jdk8</artifactId>
+ </dependency>
+
<!-- ArchUit test dependencies -->
<dependency>
diff --git a/flink-connector-aws-kinesis-streams/src/test/java/org/apache/flink/connector/kinesis/sink/examples/SinkIntoKinesis.java b/flink-connector-aws-kinesis-streams/src/test/java/org/apache/flink/connector/kinesis/sink/examples/SinkIntoKinesis.java
index c861f44..bb7b9a8 100644
--- a/flink-connector-aws-kinesis-streams/src/test/java/org/apache/flink/connector/kinesis/sink/examples/SinkIntoKinesis.java
+++ b/flink-connector-aws-kinesis-streams/src/test/java/org/apache/flink/connector/kinesis/sink/examples/SinkIntoKinesis.java
@@ -22,10 +22,11 @@ import org.apache.flink.connector.aws.config.AWSConfigConstants;
import org.apache.flink.connector.kinesis.sink.KinesisStreamsSink;
import org.apache.flink.streaming.api.datastream.DataStream;
import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment;
-import org.apache.flink.util.jackson.JacksonMapperFactory;
-
-import org.apache.flink.shaded.jackson2.com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.SerializationFeature;
+import com.fasterxml.jackson.datatype.jdk8.Jdk8Module;
+import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
import software.amazon.awssdk.services.kinesis.KinesisAsyncClient;
import software.amazon.awssdk.utils.ImmutableMap;
@@ -40,7 +41,7 @@ import java.util.Properties;
*/
public class SinkIntoKinesis {
- private static final ObjectMapper OBJECT_MAPPER = JacksonMapperFactory.createObjectMapper();
+ private static final ObjectMapper OBJECT_MAPPER = createObjectMapper();
public static void main(String[] args) throws Exception {
final StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();
@@ -71,4 +72,17 @@ public class SinkIntoKinesis {
env.execute("KDS Async Sink Example Program");
}
+
+ private static ObjectMapper createObjectMapper() {
+ ObjectMapper objectMapper = new ObjectMapper();
+ registerModules(objectMapper);
+ return objectMapper;
+ }
+
+ private static void registerModules(ObjectMapper mapper) {
+ mapper.registerModule(new JavaTimeModule())
+ .registerModule((new Jdk8Module()).configureAbsentsAsNulls(true))
+ .disable(SerializationFeature.WRITE_DURATIONS_AS_TIMESTAMPS)
+ .disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS);
+ }
}
diff --git a/flink-connector-dynamodb/pom.xml b/flink-connector-dynamodb/pom.xml
index 3a4e948..40817d1 100644
--- a/flink-connector-dynamodb/pom.xml
+++ b/flink-connector-dynamodb/pom.xml
@@ -92,6 +92,12 @@ under the License.
<optional>true</optional>
</dependency>
+ <!-- Other third-party dependencies -->
+ <dependency>
+ <groupId>com.google.guava</groupId>
+ <artifactId>guava</artifactId>
+ </dependency>
+
<!-- Test dependencies -->
<dependency>
<groupId>org.apache.flink</groupId>
diff --git a/flink-connector-dynamodb/src/main/java/org/apache/flink/connector/dynamodb/sink/DynamoDbSinkWriter.java b/flink-connector-dynamodb/src/main/java/org/apache/flink/connector/dynamodb/sink/DynamoDbSinkWriter.java
index 2e6b26f..30013b0 100644
--- a/flink-connector-dynamodb/src/main/java/org/apache/flink/connector/dynamodb/sink/DynamoDbSinkWriter.java
+++ b/flink-connector-dynamodb/src/main/java/org/apache/flink/connector/dynamodb/sink/DynamoDbSinkWriter.java
@@ -31,8 +31,7 @@ import org.apache.flink.metrics.Counter;
import org.apache.flink.metrics.groups.SinkWriterMetricGroup;
import org.apache.flink.util.CollectionUtil;
-import org.apache.flink.shaded.guava30.com.google.common.collect.ImmutableMap;
-
+import com.google.common.collect.ImmutableMap;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import software.amazon.awssdk.services.dynamodb.DynamoDbAsyncClient;
diff --git a/flink-connector-dynamodb/src/main/java/org/apache/flink/connector/dynamodb/table/DynamoDbDynamicSinkFactory.java b/flink-connector-dynamodb/src/main/java/org/apache/flink/connector/dynamodb/table/DynamoDbDynamicSinkFactory.java
index 055caf2..41a7282 100644
--- a/flink-connector-dynamodb/src/main/java/org/apache/flink/connector/dynamodb/table/DynamoDbDynamicSinkFactory.java
+++ b/flink-connector-dynamodb/src/main/java/org/apache/flink/connector/dynamodb/table/DynamoDbDynamicSinkFactory.java
@@ -25,7 +25,7 @@ import org.apache.flink.table.catalog.ResolvedCatalogTable;
import org.apache.flink.table.connector.sink.DynamicTableSink;
import org.apache.flink.table.factories.FactoryUtil;
-import org.apache.flink.shaded.guava30.com.google.common.collect.ImmutableSet;
+import com.google.common.collect.ImmutableSet;
import java.util.HashSet;
import java.util.Set;
diff --git a/flink-connector-dynamodb/src/test/java/org/apache/flink/connector/dynamodb/sink/DynamoDbSinkITCase.java b/flink-connector-dynamodb/src/test/java/org/apache/flink/connector/dynamodb/sink/DynamoDbSinkITCase.java
index d73157d..be00a3b 100644
--- a/flink-connector-dynamodb/src/test/java/org/apache/flink/connector/dynamodb/sink/DynamoDbSinkITCase.java
+++ b/flink-connector-dynamodb/src/test/java/org/apache/flink/connector/dynamodb/sink/DynamoDbSinkITCase.java
@@ -32,8 +32,7 @@ import org.apache.flink.streaming.api.functions.source.datagen.RandomGenerator;
import org.apache.flink.test.junit5.MiniClusterExtension;
import org.apache.flink.util.StringUtils;
-import org.apache.flink.shaded.guava30.com.google.common.collect.ImmutableList;
-
+import com.google.common.collect.ImmutableList;
import org.assertj.core.api.Assertions;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
diff --git a/flink-connector-dynamodb/src/test/java/org/apache/flink/connector/dynamodb/sink/DynamoDbSinkWriterTest.java b/flink-connector-dynamodb/src/test/java/org/apache/flink/connector/dynamodb/sink/DynamoDbSinkWriterTest.java
index 51a500e..60870c5 100644
--- a/flink-connector-dynamodb/src/test/java/org/apache/flink/connector/dynamodb/sink/DynamoDbSinkWriterTest.java
+++ b/flink-connector-dynamodb/src/test/java/org/apache/flink/connector/dynamodb/sink/DynamoDbSinkWriterTest.java
@@ -22,9 +22,8 @@ import org.apache.flink.api.connector.sink2.Sink;
import org.apache.flink.connector.base.sink.writer.TestSinkInitContext;
import org.apache.flink.connector.dynamodb.sink.client.SdkClientProvider;
-import org.apache.flink.shaded.guava30.com.google.common.collect.ImmutableList;
-import org.apache.flink.shaded.guava30.com.google.common.collect.ImmutableMap;
-
+import com.google.common.collect.ImmutableList;
+import com.google.common.collect.ImmutableMap;
import org.junit.jupiter.api.Test;
import software.amazon.awssdk.awscore.exception.AwsErrorDetails;
import software.amazon.awssdk.core.exception.SdkClientException;
diff --git a/flink-connector-dynamodb/src/test/java/org/apache/flink/connector/dynamodb/sink/DynamoDbWriteRequestTest.java b/flink-connector-dynamodb/src/test/java/org/apache/flink/connector/dynamodb/sink/DynamoDbWriteRequestTest.java
index f41cac0..779d15c 100644
--- a/flink-connector-dynamodb/src/test/java/org/apache/flink/connector/dynamodb/sink/DynamoDbWriteRequestTest.java
+++ b/flink-connector-dynamodb/src/test/java/org/apache/flink/connector/dynamodb/sink/DynamoDbWriteRequestTest.java
@@ -18,8 +18,7 @@
package org.apache.flink.connector.dynamodb.sink;
-import org.apache.flink.shaded.guava30.com.google.common.collect.ImmutableMap;
-
+import com.google.common.collect.ImmutableMap;
import org.junit.jupiter.api.Test;
import software.amazon.awssdk.services.dynamodb.model.AttributeValue;
diff --git a/flink-connector-dynamodb/src/test/java/org/apache/flink/connector/dynamodb/sink/DynamoDbWriterStateSerializerTest.java b/flink-connector-dynamodb/src/test/java/org/apache/flink/connector/dynamodb/sink/DynamoDbWriterStateSerializerTest.java
index 3925119..8174817 100644
--- a/flink-connector-dynamodb/src/test/java/org/apache/flink/connector/dynamodb/sink/DynamoDbWriterStateSerializerTest.java
+++ b/flink-connector-dynamodb/src/test/java/org/apache/flink/connector/dynamodb/sink/DynamoDbWriterStateSerializerTest.java
@@ -21,8 +21,7 @@ package org.apache.flink.connector.dynamodb.sink;
import org.apache.flink.connector.base.sink.writer.BufferedRequestState;
import org.apache.flink.connector.base.sink.writer.ElementConverter;
-import org.apache.flink.shaded.guava30.com.google.common.collect.ImmutableMap;
-
+import com.google.common.collect.ImmutableMap;
import org.junit.jupiter.api.Test;
import software.amazon.awssdk.services.dynamodb.model.AttributeValue;
diff --git a/flink-connector-dynamodb/src/test/java/org/apache/flink/connector/dynamodb/table/DynamoDbDynamicSinkFactoryTest.java b/flink-connector-dynamodb/src/test/java/org/apache/flink/connector/dynamodb/table/DynamoDbDynamicSinkFactoryTest.java
index 97248b8..9a2e276 100644
--- a/flink-connector-dynamodb/src/test/java/org/apache/flink/connector/dynamodb/table/DynamoDbDynamicSinkFactoryTest.java
+++ b/flink-connector-dynamodb/src/test/java/org/apache/flink/connector/dynamodb/table/DynamoDbDynamicSinkFactoryTest.java
@@ -31,8 +31,7 @@ import org.apache.flink.table.factories.TableOptionsBuilder;
import org.apache.flink.table.factories.TestFormatFactory;
import org.apache.flink.table.runtime.connector.sink.SinkRuntimeProviderContext;
-import org.apache.flink.shaded.guava30.com.google.common.collect.ImmutableMap;
-
+import com.google.common.collect.ImmutableMap;
import org.junit.jupiter.api.Test;
import java.util.Collections;
diff --git a/flink-connector-dynamodb/src/test/java/org/apache/flink/connector/dynamodb/table/RowDataToAttributeValueConverterTest.java b/flink-connector-dynamodb/src/test/java/org/apache/flink/connector/dynamodb/table/RowDataToAttributeValueConverterTest.java
index 542addc..1109118 100644
--- a/flink-connector-dynamodb/src/test/java/org/apache/flink/connector/dynamodb/table/RowDataToAttributeValueConverterTest.java
+++ b/flink-connector-dynamodb/src/test/java/org/apache/flink/connector/dynamodb/table/RowDataToAttributeValueConverterTest.java
@@ -27,8 +27,7 @@ import org.apache.flink.table.data.StringData;
import org.apache.flink.table.data.TimestampData;
import org.apache.flink.table.types.DataType;
-import org.apache.flink.shaded.guava30.com.google.common.collect.ImmutableMap;
-
+import com.google.common.collect.ImmutableMap;
import org.junit.jupiter.api.Test;
import software.amazon.awssdk.services.dynamodb.model.AttributeValue;
diff --git a/flink-connector-dynamodb/src/test/java/org/apache/flink/connector/dynamodb/util/DynamoDbSerializationUtilTest.java b/flink-connector-dynamodb/src/test/java/org/apache/flink/connector/dynamodb/util/DynamoDbSerializationUtilTest.java
index 25b3fad..b44d065 100644
--- a/flink-connector-dynamodb/src/test/java/org/apache/flink/connector/dynamodb/util/DynamoDbSerializationUtilTest.java
+++ b/flink-connector-dynamodb/src/test/java/org/apache/flink/connector/dynamodb/util/DynamoDbSerializationUtilTest.java
@@ -21,8 +21,7 @@ package org.apache.flink.connector.dynamodb.util;
import org.apache.flink.connector.dynamodb.sink.DynamoDbWriteRequest;
import org.apache.flink.connector.dynamodb.sink.DynamoDbWriteRequestType;
-import org.apache.flink.shaded.guava30.com.google.common.collect.ImmutableMap;
-
+import com.google.common.collect.ImmutableMap;
import org.junit.jupiter.api.Test;
import software.amazon.awssdk.core.SdkBytes;
import software.amazon.awssdk.services.dynamodb.model.AttributeValue;
diff --git a/flink-connector-dynamodb/src/test/java/org/apache/flink/connector/dynamodb/util/PrimaryKeyBuilderTest.java b/flink-connector-dynamodb/src/test/java/org/apache/flink/connector/dynamodb/util/PrimaryKeyBuilderTest.java
index 663b246..1bf73ba 100644
--- a/flink-connector-dynamodb/src/test/java/org/apache/flink/connector/dynamodb/util/PrimaryKeyBuilderTest.java
+++ b/flink-connector-dynamodb/src/test/java/org/apache/flink/connector/dynamodb/util/PrimaryKeyBuilderTest.java
@@ -21,9 +21,8 @@ package org.apache.flink.connector.dynamodb.util;
import org.apache.flink.connector.dynamodb.sink.InvalidConfigurationException;
import org.apache.flink.connector.dynamodb.sink.InvalidRequestException;
-import org.apache.flink.shaded.guava30.com.google.common.collect.ImmutableList;
-import org.apache.flink.shaded.guava30.com.google.common.collect.ImmutableMap;
-
+import com.google.common.collect.ImmutableList;
+import com.google.common.collect.ImmutableMap;
import org.junit.jupiter.api.Test;
import software.amazon.awssdk.core.SdkBytes;
import software.amazon.awssdk.services.dynamodb.model.AttributeValue;
diff --git a/flink-connector-kinesis/src/test/java/org/apache/flink/streaming/connectors/kinesis/testutils/KinesisPubsubClient.java b/flink-connector-kinesis/src/test/java/org/apache/flink/streaming/connectors/kinesis/testutils/KinesisPubsubClient.java
index 992979e..40d1d9f 100644
--- a/flink-connector-kinesis/src/test/java/org/apache/flink/streaming/connectors/kinesis/testutils/KinesisPubsubClient.java
+++ b/flink-connector-kinesis/src/test/java/org/apache/flink/streaming/connectors/kinesis/testutils/KinesisPubsubClient.java
@@ -25,8 +25,6 @@ import org.apache.flink.streaming.connectors.kinesis.proxy.KinesisProxy;
import org.apache.flink.streaming.connectors.kinesis.proxy.KinesisProxyInterface;
import org.apache.flink.streaming.connectors.kinesis.util.AWSUtil;
-import org.apache.flink.shaded.guava30.com.google.common.collect.Lists;
-
import com.amazonaws.AmazonClientException;
import com.amazonaws.auth.AWSCredentialsProvider;
import com.amazonaws.client.builder.AwsClientBuilder;
@@ -39,6 +37,7 @@ import com.amazonaws.services.kinesis.model.PutRecordsResult;
import com.amazonaws.services.kinesis.model.PutRecordsResultEntry;
import com.amazonaws.services.kinesis.model.Record;
import com.amazonaws.services.kinesis.model.ResourceNotFoundException;
+import com.google.common.collect.Lists;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/flink-connector-kinesis/src/test/java/org/apache/flink/streaming/connectors/kinesis/testutils/TestableKinesisDataFetcherForShardConsumerException.java b/flink-connector-kinesis/src/test/java/org/apache/flink/streaming/connectors/kinesis/testutils/TestableKinesisDataFetcherForShardConsumerException.java
index 2dd91a3..066bb2e 100644
--- a/flink-connector-kinesis/src/test/java/org/apache/flink/streaming/connectors/kinesis/testutils/TestableKinesisDataFetcherForShardConsumerException.java
+++ b/flink-connector-kinesis/src/test/java/org/apache/flink/streaming/connectors/kinesis/testutils/TestableKinesisDataFetcherForShardConsumerException.java
@@ -25,7 +25,7 @@ import org.apache.flink.streaming.connectors.kinesis.model.KinesisStreamShardSta
import org.apache.flink.streaming.connectors.kinesis.proxy.KinesisProxyInterface;
import org.apache.flink.streaming.connectors.kinesis.serialization.KinesisDeserializationSchema;
-import org.apache.flink.shaded.guava30.com.google.common.util.concurrent.ThreadFactoryBuilder;
+import com.google.common.util.concurrent.ThreadFactoryBuilder;
import java.util.HashMap;
import java.util.LinkedList;
diff --git a/pom.xml b/pom.xml
index b27c543..a1391b8 100644
--- a/pom.xml
+++ b/pom.xml
@@ -57,9 +57,9 @@ under the License.
<aws.sdkv2.version>2.20.32</aws.sdkv2.version>
<netty.version>4.1.86.Final</netty.version>
<flink.version>1.16.0</flink.version>
- <flink.shaded.version>16.0</flink.shaded.version>
- <jackson-bom.version>2.13.4.20221013</jackson-bom.version>
+ <jackson-bom.version>2.14.3</jackson-bom.version>
<glue.schema.registry.version>1.1.14</glue.schema.registry.version>
+ <guava.version>32.0.0-jre</guava.version>
<junit5.version>5.8.1</junit5.version>
<assertj.version>3.21.0</assertj.version>
@@ -91,11 +91,6 @@ under the License.
</modules>
<dependencies>
- <dependency>
- <groupId>org.apache.flink</groupId>
- <artifactId>flink-shaded-force-shading</artifactId>
- </dependency>
-
<!-- Test dependencies -->
<dependency>
<groupId>org.junit.jupiter</groupId>
@@ -163,12 +158,6 @@ under the License.
<dependencyManagement>
<dependencies>
- <dependency>
- <groupId>org.apache.flink</groupId>
- <artifactId>flink-shaded-force-shading</artifactId>
- <version>${flink.shaded.version}</version>
- </dependency>
-
<dependency>
<groupId>com.amazonaws</groupId>
<artifactId>aws-java-sdk-bom</artifactId>
@@ -327,7 +316,7 @@ under the License.
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
- <version>32.0.0-jre</version>
+ <version>${guava.version}</version>
</dependency>
<dependency>
<groupId>com.amazonaws</groupId>
diff --git a/tools/maven/checkstyle.xml b/tools/maven/checkstyle.xml
index a46c948..5b90006 100644
--- a/tools/maven/checkstyle.xml
+++ b/tools/maven/checkstyle.xml
@@ -200,7 +200,7 @@ This file is based on the checkstyle file of Apache Beam.
<!-- Checks for out of order import statements. -->
<property name="severity" value="error"/>
<property name="groups"
- value="org.apache.flink,org.apache.flink.shaded,*,javax,java,scala"/>
+ value="org.apache.flink,*,javax,java,scala"/>
<property name="separated" value="true"/>
<property name="sortStaticImportsAlphabetically" value="true"/>
<property name="option" value="bottom"/>
@@ -217,22 +217,6 @@ This file is based on the checkstyle file of Apache Beam.
<property name="illegalPkgs"
value="autovalue.shaded, avro.shaded, com.google.api.client.repackaged, com.google.appengine.repackaged"/>
</module>
- <module name="IllegalImport">
- <property name="illegalPkgs" value="org.codehaus.jackson"/>
- <message key="import.illegal" value="{0}; Use flink-shaded-jackson instead."/>
- </module>
- <module name="IllegalImport">
- <property name="illegalPkgs" value="org.objectweb.asm"/>
- <message key="import.illegal" value="{0}; Use flink-shaded-asm instead."/>
- </module>
- <module name="IllegalImport">
- <property name="illegalPkgs" value="io.netty"/>
- <message key="import.illegal" value="{0}; Use flink-shaded-netty instead."/>
- </module>
- <module name="IllegalImport">
- <property name="illegalPkgs" value="com.google.common"/>
- <message key="import.illegal" value="{0}; Use flink-shaded-guava instead."/>
- </module>
<module name="RedundantModifier">
<!-- Checks for redundant modifiers on various symbol definitions.