-
-
Notifications
You must be signed in to change notification settings - Fork 4.7k
bug: cloudwawtch get-metric-data throws exception "list index out of range" when number of metrics requested is 10 or more #11172
Description
Is there an existing issue for this?
- I have searched the existing issues
Current Behavior
awslocal cloudwatch get-metric-data --endpoint-url http://localhost:4566 --start-time 2024-07-05T00:00:00+00:00 --end-time 2024-07-06T00:00:00+00:00 --metric-data-queries '[{"MetricStat": {"Metric":{"Namespace":"AWS/TransitGateway","MetricName":"BytesIn","Dimensions":[{"Name":"TransitGatewayAttachmentId","Value":"tgw-dffbe0bb5aa704539"}]},"Period":60,"Stat":"Sum","Unit":"Sum"},"Id": "test"},{"MetricStat": {"Metric":{"Namespace":"AWS/TransitGateway","MetricName":"BytesOut","Dimensions":[{"Name":"TransitGatewayAttachmentId","Value":"tgw-dffbe0bb5aa704539"}]},"Period":60,"Stat":"Sum","Unit":"Sum"},"Id": "test"},{"MetricStat": {"Metric":{"Namespace":"AWS/TransitGateway","MetricName":"PacketsIn","Dimensions":[{"Name":"TransitGatewayAttachmentId","Value":"tgw-dffbe0bb5aa704539"}]},"Period":60,"Stat":"Sum","Unit":"Sum"},"Id": "test"},{"MetricStat": {"Metric":{"Namespace":"AWS/TransitGateway","MetricName":"PacketsOut","Dimensions":[{"Name":"TransitGatewayAttachmentId","Value":"tgw-dffbe0bb5aa704539"}]},"Period":60,"Stat":"Sum","Unit":"Sum"},"Id": "test"},{"MetricStat": {"Metric":{"Namespace":"AWS/TransitGateway","MetricName":"BytesDropCountBlackhole","Dimensions":[{"Name":"TransitGatewayAttachmentId","Value":"tgw-dffbe0bb5aa704539"}]},"Period":60,"Stat":"Sum","Unit":"Sum"},"Id": "test"},{"MetricStat": {"Metric":{"Namespace":"AWS/TransitGateway","MetricName":"BytesDropCountNoRoute","Dimensions":[{"Name":"TransitGatewayAttachmentId","Value":"tgw-dffbe0bb5aa704539"}]},"Period":60,"Stat":"Sum","Unit":"Sum"},"Id": "test"},{"MetricStat": {"Metric":{"Namespace":"AWS/TransitGateway","MetricName":"PacketDropCountBlackhole","Dimensions":[{"Name":"TransitGatewayAttachmentId","Value":"tgw-dffbe0bb5aa704539"}]},"Period":60,"Stat":"Sum","Unit":"Sum"},"Id": "test"},{"MetricStat": {"Metric":{"Namespace":"AWS/TransitGateway","MetricName":"PacketDropCountNoRoute","Dimensions":[{"Name":"TransitGatewayAttachmentId","Value":"tgw-dffbe0bb5aa704539"}]},"Period":60,"Stat":"Sum","Unit":"Sum"},"Id": "test"},{"MetricStat": {"Metric":{"Namespace":"AWS/TransitGateway","MetricName":"Test1","Dimensions":[{"Name":"TransitGatewayAttachmentId","Value":"tgw-dffbe0bb5aa704539"}]},"Period":60,"Stat":"Sum","Unit":"Sum"},"Id": "test"},{"MetricStat": {"Metric":{"Namespace":"AWS/TransitGateway","MetricName":"Test2","Dimensions":[{"Name":"TransitGatewayAttachmentId","Value":"tgw-dffbe0bb5aa704539"}]},"Period":60,"Stat":"Sum","Unit":"Sum"},"Id": "test"}]'
An error occurred (InternalError) when calling the GetMetricData operation (reached max retries: 4): exception while calling cloudwatch.GetMetricData: list index out of range
Expected Behavior
cloudwatch get-metric-data should work when requested for 10 or more metrics as well.
If the same command is run with 9 metrics, then the issue is not observed.
awslocal cloudwatch get-metric-data --endpoint-url http://localhost:4566 --start-time 2024-07-05T00:00:00+00:00 --end-time 2024-07-06T00:00:00+00:00 --metric-data-queries '[{"MetricStat": {"Metric":{"Namespace":"AWS/TransitGateway","MetricName":"BytesIn","Dimensions":[{"Name":"TransitGatewayAttachmentId","Value":"tgw-dffbe0bb5aa704539"}]},"Period":60,"Stat":"Sum","Unit":"Sum"},"Id": "test"},{"MetricStat": {"Metric":{"Namespace":"AWS/TransitGateway","MetricName":"BytesOut","Dimensions":[{"Name":"TransitGatewayAttachmentId","Value":"tgw-dffbe0bb5aa704539"}]},"Period":60,"Stat":"Sum","Unit":"Sum"},"Id": "test"},{"MetricStat": {"Metric":{"Namespace":"AWS/TransitGateway","MetricName":"PacketsIn","Dimensions":[{"Name":"TransitGatewayAttachmentId","Value":"tgw-dffbe0bb5aa704539"}]},"Period":60,"Stat":"Sum","Unit":"Sum"},"Id": "test"},{"MetricStat": {"Metric":{"Namespace":"AWS/TransitGateway","MetricName":"PacketsOut","Dimensions":[{"Name":"TransitGatewayAttachmentId","Value":"tgw-dffbe0bb5aa704539"}]},"Period":60,"Stat":"Sum","Unit":"Sum"},"Id": "test"},{"MetricStat": {"Metric":{"Namespace":"AWS/TransitGateway","MetricName":"BytesDropCountBlackhole","Dimensions":[{"Name":"TransitGatewayAttachmentId","Value":"tgw-dffbe0bb5aa704539"}]},"Period":60,"Stat":"Sum","Unit":"Sum"},"Id": "test"},{"MetricStat": {"Metric":{"Namespace":"AWS/TransitGateway","MetricName":"BytesDropCountNoRoute","Dimensions":[{"Name":"TransitGatewayAttachmentId","Value":"tgw-dffbe0bb5aa704539"}]},"Period":60,"Stat":"Sum","Unit":"Sum"},"Id": "test"},{"MetricStat": {"Metric":{"Namespace":"AWS/TransitGateway","MetricName":"PacketDropCountBlackhole","Dimensions":[{"Name":"TransitGatewayAttachmentId","Value":"tgw-dffbe0bb5aa704539"}]},"Period":60,"Stat":"Sum","Unit":"Sum"},"Id": "test"},{"MetricStat": {"Metric":{"Namespace":"AWS/TransitGateway","MetricName":"PacketDropCountNoRoute","Dimensions":[{"Name":"TransitGatewayAttachmentId","Value":"tgw-dffbe0bb5aa704539"}]},"Period":60,"Stat":"Sum","Unit":"Sum"},"Id": "test"},{"MetricStat": {"Metric":{"Namespace":"AWS/TransitGateway","MetricName":"Test1","Dimensions":[{"Name":"TransitGatewayAttachmentId","Value":"tgw-dffbe0bb5aa704539"}]},"Period":60,"Stat":"Sum","Unit":"Sum"},"Id": "test"}]' { "MetricDataResults": [ { "Id": "test", "Label": "BytesIn", "Timestamps": [], "Values": [], "StatusCode": "Complete" }, { "Id": "test", "Label": "BytesOut", "Timestamps": [], "Values": [], "StatusCode": "Complete" }, { "Id": "test", "Label": "PacketsIn", "Timestamps": [], "Values": [], "StatusCode": "Complete" }, { "Id": "test", "Label": "PacketsOut", "Timestamps": [], "Values": [], "StatusCode": "Complete" }, { "Id": "test", "Label": "BytesDropCountBlackhole", "Timestamps": [], "Values": [], "StatusCode": "Complete" }, { "Id": "test", "Label": "BytesDropCountNoRoute", "Timestamps": [], "Values": [], "StatusCode": "Complete" }, { "Id": "test", "Label": "PacketDropCountBlackhole", "Timestamps": [], "Values": [], "StatusCode": "Complete" }, { "Id": "test", "Label": "PacketDropCountNoRoute", "Timestamps": [], "Values": [], "StatusCode": "Complete" }, { "Id": "test", "Label": "Test1", "Timestamps": [], "Values": [], "StatusCode": "Complete" } ], "Messages": [] }
How are you starting LocalStack?
With a docker-compose file
Steps To Reproduce
How are you starting localstack (e.g., bin/localstack command, arguments, or docker-compose.yml)
`docker-compose.yaml`
Run the awslocal command as mentioned in Current Behavior with GetMetricData requesting for 10 metrics.
Environment
- OS: Ubuntu 22.04
- LocalStack:
LocalStack version: latest
LocalStack Docker image sha: ad1dd662347fea9d82a54e48609a5c6b389f22ce86534d9018593a42d012d079
LocalStack build date:
LocalStack build git hash: c6add47b0abf67511cdfb4734771cbab403af062Anything else?
Same issue reported in #9663. But latest localstack version seems to have the issue.