Skip to content

aws-elasticsearch/aws-opensearch: lambda resource synth not stable between linux and windows #16928

@fknittel

Description

@fknittel

What is the problem?

Since 1.123.0 the lambda resources brought in by use of aws-elasticsearch constructs produce different synth values for Linux and Windows. This is a problem for us, as we use the synth results as goldenmaster tests and have Windows on the dev machines and Linux on the CI machines.

I assume that this also affects custom Lambdas, but our problem is specifically with the aws-elasticsearch use.

Reproduction Steps

I've prepared a simple reproduction project, starting with cdk init and a stack containing an example Domain construct copy&pasted from the documentation and a simple test case that highlights which elements of the synth result differ between platforms. Please see the three branches

I've added github actions that hopefully highlight the problem. The test works on both platforms for 1.122.0 but produces different results between Linux and Windows on 1.123.0 up to 1.127.0.

What did you expect to happen?

I expected the same (construct internal) lambda resources to get synthesized, regardless of the platform the synth is performed on.

What actually happened?

The synth differs between Linux and Windows.

CDK CLI Version

1.127.0 (build 0ea309a)

Framework Version

1.127.0 (also affects >= 1.123.0)

Node.js Version

v16.11.0 / v14.18.0

OS

Linux and Windows

Language

Typescript, Java

Language Version

TypeScript (3.9.10) | Java (11)

Other information

I've tried to make it easily reproducible in the referenced repo. If you need anything else, please don't hesitate.

We're currently stuck on 1.122.0 due to this issue.

After some research I found #14555, but I'm not sure whether it's the same issue. Please advise.

Metadata

Metadata

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions