-
Notifications
You must be signed in to change notification settings - Fork 1.5k
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
Version 2.1491.0 introduces breaking SQS changes #4523
Comments
same error encountered. The breaking change was probably introduced here:
(https://github.com/aws/aws-sdk-js/blob/master/.changes/2.1491.0.json) |
Please review this |
Hello @RanVaknin , do you have any update on this issue? Will it be fixed(/is it?) in a future release? |
Hi everyone, I apologize for the long response time, and wanted to thank you for your patience. Recently the SQS service moved from XML wire protocol to a more modern JSON RPC protocol. Since the SQS service changed the protocol, the SQS Client now sends the requests in JSON format. Since you mentioned Localstack, its likely that Localstack did not implement this change on their service side. When I remove local stack and send the requests to AWS directly I get a valid response. const AWS = require('aws-sdk');
const sqs = new AWS.SQS({
region: 'us-east-1',
});
const params = {
QueueName: 'test-queue-3',
Attributes: {
'DelaySeconds': '60',
'MessageRetentionPeriod': '86400'
}
};
sqs.createQueue(params, function(err, data) {
if (err) {
console.error("Error Creating Queue", err);
} else {
console.log("Created Queue!", JSON.stringify(data, null, 4));
}
});
/*
Created Queue! {
"ResponseMetadata": {
"RequestId": "REDACTED"
},
"QueueUrl": "https://sqs.us-east-1.amazonaws.com/REDACTED/test-queue-3"
}
*/ I assume the other folks on the thread that are commenting are also using some sort of AWS Service clone? The conclusion here is that the SDK is working as expected - as specified by the SQS service itself. The solution here would be for Localstack to make the necassary changes to follow the SQS service JSON RPC wire implementation. Thanks, |
@RanVaknin Thank you for the response. I am on an older localstack version, I can update and see if that solves the issue.
Is there any way to specify that we want to use the |
👋 @RanVaknin , thanks for the answer. (realizing I'm addressing a slightly different concern about I'm not super convinced by the depiction that the SDK is working as expected, or at least not as I would expect. As pointed here by @gersmann, the Could we re-add this field in the SDK response so as to be less surprising vs the API documentation, or modify the API documentation to make it explicit the SDK does not match it? |
Hi @award1230 , Unfortunately the SDK does not support both wire protocols, the SDK is generated directly from the API model itself, and since there is only one network protocol supported per service, the SDK will only be generated with support for that protocol. While I understand the pain point, AWS cannot guarantee compatibility with 3rd party tools like Localstack or other clones. Hi @Noezor , The assumption that the SDK behaves correctly was with regards to this specific problem. There is a good chance that this rollout did break other things, and I appreciate you pointing us to your findings. I'll look into the aws/aws-sdk#657 with priority and let you know what I can find. Thanks, |
Closing because no action is needed from the SDK team. |
Hi @RanVaknin . Does this also fix aws/aws-sdk#657 ? |
@Noezor , Sorry! That answer was meant for aws/aws-sdk#657. Please pull the latest version and see if it solves the problem. Thanks, |
Describe the bug
After updating to version 2.1491.0 our SQS queue creation code throws an error.
Expected Behavior
The queue should still be created. Minor version updates should not introduce breaking changes.
Current Behavior
This error is thrown after updating
Reproduction Steps
First run
npm install [email protected]
(working version)Then run the code:
This logs
Now run:
npm install [email protected]
(broken version)This logs the error
Nothing changes except updating the aws-sdk version. Note, I am using localstack in this example.
Possible Solution
No response
Additional Information/Context
No response
SDK version used
2.1491.0
Environment details (OS name and version, etc.)
node running on mac/linux
The text was updated successfully, but these errors were encountered: