Skip to content

Commit 80e81d6

Browse files
committed
fixup! S3 DLQ: Add legacy MD5 checksum validation
1 parent 5dd8ec0 commit 80e81d6

4 files changed

Lines changed: 24 additions & 24 deletions

File tree

data-prepper-plugins/failures-common/src/main/java/org/opensearch/dataprepper/plugins/dlq/s3/S3DlqWriterConfig.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ public class S3DlqWriterConfig {
4141
private static final String AWS_IAM = "iam";
4242
private static final String S3_PREFIX = "s3://";
4343
private static final boolean FORCE_PATH_STYLE = false;
44-
private static final boolean LEGACY_MD5_PLUGIN_ENABLED = false;
44+
private static final boolean LEGACY_MD5_CHECKSUM = false;
4545

4646
@JsonProperty("bucket")
4747
@NotEmpty
@@ -59,8 +59,8 @@ public class S3DlqWriterConfig {
5959
@JsonProperty("force_path_style")
6060
private boolean forcePathStyle = FORCE_PATH_STYLE;
6161

62-
@JsonProperty("legacy_md5_plugin_enabled")
63-
private boolean legacyMd5PluginEnabled = LEGACY_MD5_PLUGIN_ENABLED;
62+
@JsonProperty("legacy_md5_checksum")
63+
private boolean legacyMd5Checksum = LEGACY_MD5_CHECKSUM;
6464

6565
@JsonProperty("sts_role_arn")
6666
@Size(min = 20, max = 2048, message = "sts_role_arn length should be between 1 and 2048 characters")
@@ -92,8 +92,8 @@ public boolean getForcePathStyle() {
9292
return forcePathStyle;
9393
}
9494

95-
public boolean getLegacyMd5PluginEnabled() {
96-
return legacyMd5PluginEnabled;
95+
public boolean getLegacyMd5Checksum() {
96+
return legacyMd5Checksum;
9797
}
9898

9999
public Region getRegion() {
@@ -161,7 +161,7 @@ public S3Client getS3Client() {
161161
.retryPolicy(RetryPolicy.builder().numRetries(MAX_NUMBER_OF_RETRIES).build())
162162
.build());
163163

164-
if (legacyMd5PluginEnabled == true) {
164+
if (legacyMd5Checksum == true) {
165165
s3ClientBuilder.requestChecksumCalculation(RequestChecksumCalculation.WHEN_REQUIRED)
166166
.responseChecksumValidation(ResponseChecksumValidation.WHEN_REQUIRED)
167167
.addPlugin(LegacyMd5Plugin.create());

data-prepper-plugins/failures-common/src/test/java/org/opensearch/dataprepper/plugins/dlq/s3/S3DlqWriterConfigTest.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -41,8 +41,8 @@ public void testDefaultForcePathStyle() {
4141
}
4242

4343
@Test
44-
public void testDefaultLegacyMD5PluginEnabled() {
45-
assertThat(new S3DlqWriterConfig().getLegacyMd5PluginEnabled(), is(equalTo(false)));
44+
public void testDefaultLegacyMd5Checksum() {
45+
assertThat(new S3DlqWriterConfig().getLegacyMd5Checksum(), is(equalTo(false)));
4646
}
4747

4848
@ParameterizedTest
@@ -83,9 +83,9 @@ public void getS3ClientWithValidAccessStyle(final boolean forcePathStyle) throws
8383

8484
@ParameterizedTest
8585
@ValueSource(booleans = {false, true})
86-
public void getS3ClientWithLegacyMD5PluginEnabled(final boolean legacyMd5PluginEnabled) throws NoSuchFieldException, IllegalAccessException {
86+
public void getS3ClientWithLegacyMd5Checksum(final boolean legacyMd5Checksum) throws NoSuchFieldException, IllegalAccessException {
8787
final S3DlqWriterConfig config = new S3DlqWriterConfig();
88-
reflectivelySetField(config, "legacyMd5PluginEnabled", legacyMd5PluginEnabled);
88+
reflectivelySetField(config, "legacyMd5Checksum", legacyMd5Checksum);
8989
final S3Client s3Client = config.getS3Client();
9090
assertThat(s3Client, is(notNullValue()));
9191
}

data-prepper-plugins/sns-sink/src/main/java/org/opensearch/dataprepper/plugins/sink/sns/dlq/DlqPushHandler.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ public class DlqPushHandler {
5151

5252
private static final String FORCE_PATH_STYLE = "force_path_style";
5353

54-
private static final String LEGACY_MD5_PLUGIN_ENABLED = "legacy_md5_plugin_enabled";
54+
private static final String LEGACY_MD5_CHECKSUM = "legacy_md5_checksum";
5555

5656
private String dlqFile;
5757

@@ -67,13 +67,13 @@ public DlqPushHandler(final String dlqFile,
6767
final String stsRoleArn,
6868
final String awsRegion,
6969
final Boolean forcePathStyle,
70-
final Boolean legacyMd5PluginEnabled,
70+
final Boolean legacyMd5Checksum,
7171
final String dlqPathPrefix) {
7272
if(dlqFile != null) {
7373
this.dlqFile = dlqFile;
7474
this.objectWriter = new ObjectMapper().writer().withDefaultPrettyPrinter();
7575
}else{
76-
this.dlqProvider = getDlqProvider(pluginFactory,bucket,stsRoleArn,awsRegion,forcePathStyle,legacyMd5PluginEnabled,dlqPathPrefix);
76+
this.dlqProvider = getDlqProvider(pluginFactory,bucket,stsRoleArn,awsRegion,forcePathStyle,legacyMd5Checksum,dlqPathPrefix);
7777
}
7878
}
7979

@@ -124,14 +124,14 @@ private DlqProvider getDlqProvider(final PluginFactory pluginFactory,
124124
final String stsRoleArn,
125125
final String awsRegion,
126126
final Boolean forcePathStyle,
127-
final Boolean legacyMd5PluginEnabled,
127+
final Boolean legacyMd5Checksum,
128128
final String dlqPathPrefix) {
129129
final Map<String, Object> props = new HashMap<>();
130130
props.put(BUCKET, bucket);
131131
props.put(ROLE_ARN, stsRoleArn);
132132
props.put(REGION, awsRegion);
133133
props.put(FORCE_PATH_STYLE, forcePathStyle);
134-
props.put(LEGACY_MD5_PLUGIN_ENABLED, legacyMd5PluginEnabled);
134+
props.put(LEGACY_MD5_CHECKSUM, legacyMd5Checksum);
135135
this.keyPathPrefix = StringUtils.isEmpty(dlqPathPrefix) ? dlqPathPrefix : enforceDefaultDelimiterOnKeyPathPrefix(dlqPathPrefix);
136136
props.put(KEY_PATH_PREFIX, dlqPathPrefix);
137137
final PluginSetting dlqPluginSetting = new PluginSetting(S3_PLUGIN_NAME, props);

data-prepper-plugins/sns-sink/src/test/java/org/opensearch/dataprepper/plugins/sink/sns/dlq/DlqPushHandlerTest.java

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -39,10 +39,10 @@ class DlqPushHandlerTest {
3939

4040
private static final String KEY_PATH_PREFIX_VALUE = "dlq/";
4141

42-
private static final String LEGACY_MD5_PLUGIN_ENABLED = "legacy_md5_plugin_enabled";
42+
private static final String LEGACY_MD5_CHECKSUM = "legacy_md5_checksum";
4343

44-
private static final boolean LEGACY_MD5_PLUGIN_ENABLED_TRUE = true;
45-
private static final boolean LEGACY_MD5_PLUGIN_ENABLED_FALSE = false;
44+
private static final boolean LEGACY_MD5_CHECKSUM_TRUE = true;
45+
private static final boolean LEGACY_MD5_CHECKSUM_FALSE = false;
4646

4747
private static final String FORCE_PATH_STYLE = "force_path_style";
4848

@@ -95,18 +95,18 @@ void perform_for_dlq_s3_success() throws IOException {
9595
}
9696

9797
@Test
98-
void perform_for_dlq_s3_success_legacymd5pluginenabled_true() throws IOException {
98+
void perform_for_dlq_s3_success_legacymd5checksum_true() throws IOException {
9999
Map<String, Object> props = new HashMap<>();
100100
props.put(BUCKET,BUCKET_VALUE);
101101
props.put(KEY_PATH_PREFIX,KEY_PATH_PREFIX_VALUE);
102-
props.put(LEGACY_MD5_PLUGIN_ENABLED,LEGACY_MD5_PLUGIN_ENABLED_TRUE);
102+
props.put(LEGACY_MD5_CHECKSUM,LEGACY_MD5_CHECKSUM_TRUE);
103103

104104
when(pluginFactory.loadPlugin(any(Class.class), any(PluginSetting.class))).thenReturn(dlqProvider);
105105

106106
when(dlqProvider.getDlqWriter(anyString())).thenReturn(Optional.of(dlqWriter));
107107
doNothing().when(dlqWriter).write(anyList(), anyString(), anyString());
108108
SnsSinkFailedDlqData failedDlqData = new SnsSinkFailedDlqData("topic","message",0);
109-
dlqPushHandler = new DlqPushHandler(null,pluginFactory, BUCKET_VALUE, ROLE, REGION,KEY_PATH_PREFIX_VALUE,LEGACY_MD5_PLUGIN_ENABLED_TRUE);
109+
dlqPushHandler = new DlqPushHandler(null,pluginFactory, BUCKET_VALUE, ROLE, REGION,KEY_PATH_PREFIX_VALUE,LEGACY_MD5_CHECKSUM_TRUE);
110110

111111
PluginSetting pluginSetting = new PluginSetting(S3_PLUGIN_NAME, props);
112112
pluginSetting.setPipelineName(PIPELINE_NAME);
@@ -116,18 +116,18 @@ void perform_for_dlq_s3_success_legacymd5pluginenabled_true() throws IOException
116116
}
117117

118118
@Test
119-
void perform_for_dlq_s3_success_legacymd5pluginenabled_false() throws IOException {
119+
void perform_for_dlq_s3_success_legacymd5checksum_false() throws IOException {
120120
Map<String, Object> props = new HashMap<>();
121121
props.put(BUCKET,BUCKET_VALUE);
122122
props.put(KEY_PATH_PREFIX,KEY_PATH_PREFIX_VALUE);
123-
props.put(LEGACY_MD5_PLUGIN_ENABLED,LEGACY_MD5_PLUGIN_ENABLED_FALSE);
123+
props.put(LEGACY_MD5_CHECKSUM,LEGACY_MD5_CHECKSUM_FALSE);
124124

125125
when(pluginFactory.loadPlugin(any(Class.class), any(PluginSetting.class))).thenReturn(dlqProvider);
126126

127127
when(dlqProvider.getDlqWriter(anyString())).thenReturn(Optional.of(dlqWriter));
128128
doNothing().when(dlqWriter).write(anyList(), anyString(), anyString());
129129
SnsSinkFailedDlqData failedDlqData = new SnsSinkFailedDlqData("topic","message",0);
130-
dlqPushHandler = new DlqPushHandler(null,pluginFactory, BUCKET_VALUE, ROLE, REGION,KEY_PATH_PREFIX_VALUE,LEGACY_MD5_PLUGIN_ENABLED_FALSE);
130+
dlqPushHandler = new DlqPushHandler(null,pluginFactory, BUCKET_VALUE, ROLE, REGION,KEY_PATH_PREFIX_VALUE,LEGACY_MD5_CHECKSUM_FALSE);
131131

132132
PluginSetting pluginSetting = new PluginSetting(S3_PLUGIN_NAME, props);
133133
pluginSetting.setPipelineName(PIPELINE_NAME);

0 commit comments

Comments
 (0)