Skip to content

Commit c72242a

Browse files
authored
Revert "Enable the fast unmarshalling codepath by default (#6089)"
This reverts commit f0cee48.
1 parent 3ec934d commit c72242a

16 files changed

+411
-439
lines changed

codegen/src/main/java/software/amazon/awssdk/codegen/poet/builder/BaseClientBuilderClass.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -509,8 +509,10 @@ private MethodSpec finalizeServiceConfigurationMethod() {
509509
.addCode(" .build());");
510510

511511
if (model.getMetadata().isJsonProtocol()) {
512-
builder.addStatement("builder.option($1T.ENABLE_FAST_UNMARSHALLER, true)",
513-
SdkClientJsonProtocolAdvancedOption.class);
512+
if (model.getCustomizationConfig().getEnableFastUnmarshaller()) {
513+
builder.addStatement("builder.option($1T.ENABLE_FAST_UNMARSHALLER, true)",
514+
SdkClientJsonProtocolAdvancedOption.class);
515+
}
514516
}
515517

516518
if (hasRequestAlgorithmMember(model) || hasResponseAlgorithms(model)) {

codegen/src/test/resources/software/amazon/awssdk/codegen/poet/builder/sra/test-bearer-auth-client-builder-class.java

Lines changed: 23 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@
2727
import software.amazon.awssdk.identity.spi.IdentityProvider;
2828
import software.amazon.awssdk.identity.spi.IdentityProviders;
2929
import software.amazon.awssdk.identity.spi.TokenIdentity;
30-
import software.amazon.awssdk.protocols.json.internal.unmarshall.SdkClientJsonProtocolAdvancedOption;
3130
import software.amazon.awssdk.regions.ServiceMetadataAdvancedOption;
3231
import software.amazon.awssdk.retries.api.RetryStrategy;
3332
import software.amazon.awssdk.services.json.auth.scheme.JsonAuthSchemeProvider;
@@ -60,13 +59,13 @@ protected final String serviceName() {
6059
@Override
6160
protected final SdkClientConfiguration mergeServiceDefaults(SdkClientConfiguration config) {
6261
return config.merge(c -> c
63-
.option(SdkClientOption.ENDPOINT_PROVIDER, defaultEndpointProvider())
64-
.option(SdkClientOption.AUTH_SCHEME_PROVIDER, defaultAuthSchemeProvider())
65-
.option(SdkClientOption.AUTH_SCHEMES, authSchemes())
66-
.option(SdkClientOption.CRC32_FROM_COMPRESSED_DATA_ENABLED, false)
67-
.lazyOption(AwsClientOption.TOKEN_PROVIDER,
62+
.option(SdkClientOption.ENDPOINT_PROVIDER, defaultEndpointProvider())
63+
.option(SdkClientOption.AUTH_SCHEME_PROVIDER, defaultAuthSchemeProvider())
64+
.option(SdkClientOption.AUTH_SCHEMES, authSchemes())
65+
.option(SdkClientOption.CRC32_FROM_COMPRESSED_DATA_ENABLED, false)
66+
.lazyOption(AwsClientOption.TOKEN_PROVIDER,
6867
p -> TokenUtils.toSdkTokenProvider(p.get(AwsClientOption.TOKEN_IDENTITY_PROVIDER)))
69-
.option(AwsClientOption.TOKEN_IDENTITY_PROVIDER, defaultTokenProvider()));
68+
.option(AwsClientOption.TOKEN_IDENTITY_PROVIDER, defaultTokenProvider()));
7069
}
7170

7271
@Override
@@ -77,7 +76,7 @@ protected final SdkClientConfiguration finalizeServiceConfiguration(SdkClientCon
7776
endpointInterceptors.add(new JsonRequestSetEndpointInterceptor());
7877
ClasspathInterceptorChainFactory interceptorFactory = new ClasspathInterceptorChainFactory();
7978
List<ExecutionInterceptor> interceptors = interceptorFactory
80-
.getInterceptors("software/amazon/awssdk/services/json/execution.interceptors");
79+
.getInterceptors("software/amazon/awssdk/services/json/execution.interceptors");
8180
List<ExecutionInterceptor> additionalInterceptors = new ArrayList<>();
8281
interceptors = CollectionUtils.mergeLists(endpointInterceptors, interceptors);
8382
interceptors = CollectionUtils.mergeLists(interceptors, additionalInterceptors);
@@ -93,22 +92,21 @@ protected final SdkClientConfiguration finalizeServiceConfiguration(SdkClientCon
9392
});
9493
builder.option(SdkClientOption.EXECUTION_INTERCEPTORS, interceptors);
9594
builder.lazyOptionIfAbsent(
96-
SdkClientOption.CLIENT_ENDPOINT_PROVIDER,
97-
c -> AwsClientEndpointProvider
98-
.builder()
99-
.serviceEndpointOverrideEnvironmentVariable("AWS_ENDPOINT_URL_JSON_SERVICE")
100-
.serviceEndpointOverrideSystemProperty("aws.endpointUrlJson")
101-
.serviceProfileProperty("json_service")
102-
.serviceEndpointPrefix(serviceEndpointPrefix())
103-
.defaultProtocol("https")
104-
.region(c.get(AwsClientOption.AWS_REGION))
105-
.profileFile(c.get(SdkClientOption.PROFILE_FILE_SUPPLIER))
106-
.profileName(c.get(SdkClientOption.PROFILE_NAME))
107-
.putAdvancedOption(ServiceMetadataAdvancedOption.DEFAULT_S3_US_EAST_1_REGIONAL_ENDPOINT,
108-
c.get(ServiceMetadataAdvancedOption.DEFAULT_S3_US_EAST_1_REGIONAL_ENDPOINT))
109-
.dualstackEnabled(c.get(AwsClientOption.DUALSTACK_ENDPOINT_ENABLED))
110-
.fipsEnabled(c.get(AwsClientOption.FIPS_ENDPOINT_ENABLED)).build());
111-
builder.option(SdkClientJsonProtocolAdvancedOption.ENABLE_FAST_UNMARSHALLER, true);
95+
SdkClientOption.CLIENT_ENDPOINT_PROVIDER,
96+
c -> AwsClientEndpointProvider
97+
.builder()
98+
.serviceEndpointOverrideEnvironmentVariable("AWS_ENDPOINT_URL_JSON_SERVICE")
99+
.serviceEndpointOverrideSystemProperty("aws.endpointUrlJson")
100+
.serviceProfileProperty("json_service")
101+
.serviceEndpointPrefix(serviceEndpointPrefix())
102+
.defaultProtocol("https")
103+
.region(c.get(AwsClientOption.AWS_REGION))
104+
.profileFile(c.get(SdkClientOption.PROFILE_FILE_SUPPLIER))
105+
.profileName(c.get(SdkClientOption.PROFILE_NAME))
106+
.putAdvancedOption(ServiceMetadataAdvancedOption.DEFAULT_S3_US_EAST_1_REGIONAL_ENDPOINT,
107+
c.get(ServiceMetadataAdvancedOption.DEFAULT_S3_US_EAST_1_REGIONAL_ENDPOINT))
108+
.dualstackEnabled(c.get(AwsClientOption.DUALSTACK_ENDPOINT_ENABLED))
109+
.fipsEnabled(c.get(AwsClientOption.FIPS_ENDPOINT_ENABLED)).build());
112110
return builder.build();
113111
}
114112

@@ -196,6 +194,6 @@ private List<SdkPlugin> internalPlugins(SdkClientConfiguration config) {
196194

197195
protected static void validateClientOptions(SdkClientConfiguration c) {
198196
Validate.notNull(c.option(AwsClientOption.TOKEN_IDENTITY_PROVIDER),
199-
"The 'tokenProvider' must be configured in the client builder.");
197+
"The 'tokenProvider' must be configured in the client builder.");
200198
}
201199
}

0 commit comments

Comments
 (0)