Skip to content

InvalidChangeBatch custom error handling no longer works #1433

@ewanmellor

Description

@ewanmellor

Describe the bug

Reading #242 , the error response from Route 53 used to use a custom InvalidChangeBatch element. That no longer seems to be the case: my current error response looks like this:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<ErrorResponse xmlns="https://route53.amazonaws.com/doc/2013-04-01/">
    <Error>
        <Type>Sender</Type>
        <Code>InvalidChangeBatch</Code>
        <Message>[Tried to delete resource record set [name='foo.', type='CNAME'] but it was not found]</Message>
    </Error>
    <RequestId>...</RequestId>
</ErrorResponse>

This fails to parse using the custom code here:

https://github.com/awslabs/aws-sdk-kotlin/blob/acccef5bcd6905c51751291fa94fdbcfd8029b98/services/route53/common/src/aws/sdk/kotlin/services/route53/internal/ChangeResourceRecordSetsUnmarshalling.kt#L14

This means that the error message is lost to the caller.

Regression Issue

  • Select this option if this issue appears to be a regression.

Expected behavior

The error message from the response should be parsed into InvalidChangeBatch.message.

Current behavior

The error message is not parsed.

Steps to Reproduce

Call Route53Client.changeResourceRecordSets with invalid parameters.

Possible Solution

One change would be to extend this custom parsing to handle the <Error> tag and parse appropriately. Alternatively if someone from AWS can confirm that this endpoint has switched to the "standard" error response then maybe all this custom code can go away.

Context

Trying to parse errors from Route 53.

AWS SDK for Kotlin version

1.1.7

Platform (JVM/JS/Native)

Kotlin JVM

Operating system and version

macOS 15

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions