Skip to content

Remove fast unmarshaller dialup code #6050

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 8 commits into from
Apr 24, 2025

Conversation

sugmanue
Copy link
Contributor

@sugmanue sugmanue commented Apr 22, 2025

Motivation and Context

Clean up the code to enable the fast unmarshalling code path. Now that the last wave went in we are removing it.

I will create a follow up to clean up the customization.config files to avoid that noise in this change.

Modifications

Testing

Screenshots (if appropriate)

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)

Checklist

  • I have read the CONTRIBUTING document
  • Local run of mvn install succeeds
  • My code follows the code style of this project
  • My change requires a change to the Javadoc documentation
  • I have updated the Javadoc documentation accordingly
  • I have added tests to cover my changes
  • All new and existing tests passed
  • I have added a changelog entry. Adding a new entry must be accomplished by running the scripts/new-change script and following the instructions. Commit the new file created by the script in .changes/next-release with your changes.
  • My change is to implement 1.11 parity feature and I have updated LaunchChangelog

License

  • I confirm that this pull request can be released under the Apache 2 license

@sugmanue sugmanue marked this pull request as ready for review April 23, 2025 15:41
@sugmanue sugmanue requested a review from a team as a code owner April 23, 2025 15:41
@sugmanue sugmanue enabled auto-merge April 23, 2025 15:41
@sugmanue sugmanue added this pull request to the merge queue Apr 23, 2025
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks Apr 24, 2025
@sugmanue sugmanue added this pull request to the merge queue Apr 24, 2025
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks Apr 24, 2025
@sugmanue sugmanue added this pull request to the merge queue Apr 24, 2025
github-merge-queue bot pushed a commit that referenced this pull request Apr 24, 2025
* Remove fast unmarshaller dialup code

* Further cleanup and checkstyle fixes

* Add the @deprecated javadoc tag

* Add back the SdkClientJsonProtocolAdvancedOption class

* Remove the parser setter, we don't need to be backwards compatible
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks Apr 24, 2025
@sugmanue sugmanue added this pull request to the merge queue Apr 24, 2025
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks Apr 24, 2025
@sugmanue sugmanue added this pull request to the merge queue Apr 24, 2025
@sugmanue sugmanue removed this pull request from the merge queue due to a manual request Apr 24, 2025
@sugmanue sugmanue enabled auto-merge April 24, 2025 20:31
Copy link

@sugmanue sugmanue added this pull request to the merge queue Apr 24, 2025
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks Apr 24, 2025
@sugmanue sugmanue added this pull request to the merge queue Apr 24, 2025
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks Apr 24, 2025
@sugmanue sugmanue added this pull request to the merge queue Apr 24, 2025
Merged via the queue into master with commit d8588e1 Apr 24, 2025
27 checks passed
@sugmanue sugmanue deleted the sugmanue/cleanup-fast-unmarshalling-dialup branch April 25, 2025 20:52
@vandonr
Copy link

vandonr commented Apr 29, 2025

👋 I think this commit broke one of our tests where we use localstack, creating an SQS queue with sqsClient.createQueue { it.queueName("testqueue") } yields an error with v2.31.30 while it works with 2.31.29.
The error we get is:

Unable to unmarshall response (null). Response Code: 200, Response Text: OK (SDK Attempt Count: 1)
software.amazon.awssdk.core.exception.SdkClientException: Unable to unmarshall response (null). Response Code: 200, Response Text: OK (SDK Attempt Count: 1)
	at software.amazon.awssdk.core.exception.SdkClientException$BuilderImpl.build(SdkClientException.java:130)
	at software.amazon.awssdk.core.exception.SdkClientException$BuilderImpl.build(SdkClientException.java:95)
	at software.amazon.awssdk.core.internal.http.pipeline.stages.utils.RetryableStageHelper.retryPolicyDisallowedRetryException(RetryableStageHelper.java:168)
	at software.amazon.awssdk.core.internal.http.pipeline.stages.RetryableStage.execute(RetryableStage.java:73)
	at software.amazon.awssdk.core.internal.http.pipeline.stages.RetryableStage.execute(RetryableStage.java:36)
	at software.amazon.awssdk.core.internal.http.pipeline.RequestPipelineBuilder$ComposingRequestPipelineStage.execute(RequestPipelineBuilder.java:206)
	at software.amazon.awssdk.core.internal.http.StreamManagingStage.execute(StreamManagingStage.java:53)
	at software.amazon.awssdk.core.internal.http.StreamManagingStage.execute(StreamManagingStage.java:35)
	at software.amazon.awssdk.core.internal.http.pipeline.stages.ApiCallTimeoutTrackingStage.executeWithTimer(ApiCallTimeoutTrackingStage.java:82)
	at software.amazon.awssdk.core.internal.http.pipeline.stages.ApiCallTimeoutTrackingStage.execute(ApiCallTimeoutTrackingStage.java:62)
	at software.amazon.awssdk.core.internal.http.pipeline.stages.ApiCallTimeoutTrackingStage.execute(ApiCallTimeoutTrackingStage.java:43)
	at software.amazon.awssdk.core.internal.http.pipeline.stages.ApiCallMetricCollectionStage.execute(ApiCallMetricCollectionStage.java:50)
	at software.amazon.awssdk.core.internal.http.pipeline.stages.ApiCallMetricCollectionStage.execute(ApiCallMetricCollectionStage.java:32)
	at software.amazon.awssdk.core.internal.http.pipeline.RequestPipelineBuilder$ComposingRequestPipelineStage.execute(RequestPipelineBuilder.java:206)
	at software.amazon.awssdk.core.internal.http.pipeline.RequestPipelineBuilder$ComposingRequestPipelineStage.execute(RequestPipelineBuilder.java:206)
	at software.amazon.awssdk.core.internal.http.pipeline.stages.ExecutionFailureExceptionReportingStage.execute(ExecutionFailureExceptionReportingStage.java:37)
	at software.amazon.awssdk.core.internal.http.pipeline.stages.ExecutionFailureExceptionReportingStage.execute(ExecutionFailureExceptionReportingStage.java:26)
	at software.amazon.awssdk.core.internal.http.AmazonSyncHttpClient$RequestExecutionBuilderImpl.execute(AmazonSyncHttpClient.java:210)
	at software.amazon.awssdk.core.internal.handler.BaseSyncClientHandler.invoke(BaseSyncClientHandler.java:103)
	at software.amazon.awssdk.core.internal.handler.BaseSyncClientHandler.doExecute(BaseSyncClientHandler.java:173)
	at software.amazon.awssdk.core.internal.handler.BaseSyncClientHandler.lambda$execute$1(BaseSyncClientHandler.java:80)
	at software.amazon.awssdk.core.internal.handler.BaseSyncClientHandler.measureApiCallSuccess(BaseSyncClientHandler.java:182)
	at software.amazon.awssdk.core.internal.handler.BaseSyncClientHandler.execute(BaseSyncClientHandler.java:74)
	at software.amazon.awssdk.core.client.handler.SdkSyncClientHandler.execute(SdkSyncClientHandler.java:45)
	at software.amazon.awssdk.awscore.client.handler.AwsSyncClientHandler.execute(AwsSyncClientHandler.java:53)
	at software.amazon.awssdk.services.sqs.DefaultSqsClient.createQueue(DefaultSqsClient.java:801)
	at software.amazon.awssdk.services.sqs.SqsClient.createQueue(SqsClient.java:1240)

I'm not sure yet if this is an issue with localstack where they need to update their side, or if it's a potential issue with this code ?
It's also very weird because we have other tests creating SQS queues in localstack that pass fine, and I wasn't able to find a clear difference between passing/non passing code.
It's the end of my work day now, so I'll investigate a bit more tomorrow, but if you have an idea where the issue might be that'll be helpful ^^

@sugmanue
Copy link
Contributor Author

👋 I think this commit broke one of our tests where we use localstack, creating an SQS queue with sqsClient.createQueue { it.queueName("testqueue") } yields an error with v2.31.30 while it works with 2.31.29. The error we get is:

Unable to unmarshall response (null). Response Code: 200, Response Text: OK (SDK Attempt Count: 1)

Hi Raphaël, please open an issue, this is a closed PR and you won't get any traction from it. Please make sure add enough information for us to be able to reproduce the issue, otherwise is near impossible to understand what's the issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants