Skip to content

bug: RDS operations do not fail property with invalid SQL #11557

@newhoggy

Description

@newhoggy

Is there an existing issue for this?

  • I have searched the existing issues

Current Behavior

When executing the

On LocalStack pro, the request "succeeds" when it should fail:

AWS_LOCALSTACK_HOST=localhost AWS_LOCALSTACK_PORT=32771 cabal exec -- rds-data up --resource-arn "arn:aws:rds:us-east-1:000000000000:cluster:my-cluster" --secret-arn "arn:aws:secretsmanager:us-east-1:000000000000:secret:my-aurora-cluster-APyofU" --database rds_data_migration --migration-file db/select.ya
ml
...[{"caller":"info","endCol":13,"endLine":104,"file":"polysemy/Data/RdsData/Polysemy/Migration.hs","module":"Data.RdsData.Polysemy.Migration","package":"rds-data-0.0.0.7-inplace-polysemy","startCol":9,"startLine":104}],"data":{"message":"Executing statement: UpStep {up = Statement \"SELECT COUNT(*) FROM \\\"no_such_object\\\";\\n\"}","severity":"Info"},"time":"2024-09-22T11:51:59.527943504Z"}
{"callstack":[{"caller":"executeStatement","endCol":37,"endLine":108,"file":"polysemy/Data/RdsData/Polysemy/Migration.hs","module":"Data.RdsData.Polysemy.Migration","package":"rds-data-0.0.0.7-inplace-polysemy","startCol":21,"startLine":108}],"data":{"message":"Successfully executed statement.  Results: ExecuteStatementResponse' {columnMetadata = Nothing, formattedRecords = Nothing, generatedFields = Nothing, numberOfRecordsUpdated = Just 0, records = Just [], httpStatus = 200}","severity":"Info"},"time":"2024-09-22T11:51:59.601832728Z"}
{"callstack":[{"caller":"info","endCol":13,"endLine":110,"file":"polysemy/Data/RdsData/Polysemy/Migration.hs","module":"Data.RdsData.Polysemy.Migration","package":"rds-data-0.0.0.7-inplace-polysemy","startCol":9,"startLine":110}],"data":{"message":"Results: []","severity":"Info"},"time":"2024-09-22T11:51:59.60190198Z"}

Expected Behavior

On AWS, the same returns a failure:

AWS_PROFILE=only-on-chain cabal exec -- rds-data up --resource-arn "$AURORA_RESOURCE_ARN" --secret-arn "$AURORA_SECRET_ARN" --datab
ase only_on_chain --migration-file db/select.yaml
...
{"callstack":[{"caller":"info","endCol":13,"endLine":104,"file":"polysemy/Data/RdsData/Polysemy/Migration.hs","module":"Data.RdsData.Polysemy.Migration","package":"rds-data-0.0.0.7-inplace-polysemy","startCol":9,"startLine":104}],"data":{"message":"Executing statement: UpStep {up = Statement \"SELECT COUNT(*) FROM \\\"no_such_object\\\";\\n\"}","severity":"Info"},"time":"2024-09-22T11:46:29.43455085Z"}
{"callstack":[{"caller":"executeStatement","endCol":37,"endLine":108,"file":"polysemy/Data/RdsData/Polysemy/Migration.hs","module":"Data.RdsData.Polysemy.Migration","package":"rds-data-0.0.0.7-inplace-polysemy","startCol":21,"startLine":108}],"data":{"message":"[ServiceError] {\n  service    = RDSData\n  status     = 400 Bad Request\n  code       = DatabaseError\n  message    = Just ERROR: relation \"no_such_object\" does not exist; Position: 22; SQLState: 42P01\n  request-id = Just e0e4de36-7266-494e-a5c3-61c0545dc625\n}","severity":"Error"},"time":"2024-09-22T11:46:29.663083071Z"}
ServiceError (ServiceError' {abbrev = Abbrev {fromAbbrev = "RDSData"}, status = Status {statusCode = 400, statusMessage = "Bad Request"}, headers = [("x-amzn-RequestId","e0e4de36-7266-494e-a5c3-61c0545dc625"),("x-amzn-ErrorType","DatabaseErrorException:http://internal.amazon.com/coral/com.amazon.rdsdataservice/"),("Date","Sun, 22 Sep 2024 11:46:29 GMT"),("Content-Type","application/json"),("Content-Length","94"),("connection","keep-alive")], code = ErrorCode "DatabaseError", message = Just (ErrorMessage {fromErrorMessage = "ERROR: relation \"no_such_object\" does not exist; Position: 22; SQLState: 42P01"}), requestId = Just (RequestId {fromRequestId = "e0e4de36-7266-494e-a5c3-61c0545dc625"})})

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 run localstack/localstack

Client commands (e.g., AWS SDK code snippet, or sequence of "awslocal" commands)

awslocal s3 mb s3://mybucket

Environment

- OS: Linux
- LocalStack: localstack/localstack-pro:3.7.2

Anything else?

N/A

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions