-
Notifications
You must be signed in to change notification settings - Fork 246
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
fix(kernel): revert behavior change around any
serialization
#932
Conversation
The change of behavior in `any` serialization introduced in #825 risks breaking some emerging use-cases of the AWS CDK that are likely to be prevalent in the installed user base. As a consequence, surgically reverting this particular change in order to restore the behavior that users might be dependent on. This somehow uncovered an outstanding bug in the Python runtime that was not triggering with the "reverted" behavior (it broke unit tests). The runtime was fixed in order to address this bug.
Labelled with |
AWS CodeBuild CI Report
Powered by github-codebuild-logs, available on the AWS Serverless Application Repository |
AWS CodeBuild CI Report
Powered by github-codebuild-logs, available on the AWS Serverless Application Repository |
AWS CodeBuild CI Report
Powered by github-codebuild-logs, available on the AWS Serverless Application Repository |
…assed to callbacks In addition, fix a bug where Python's static invoke did not handle Callback results.
AWS CodeBuild CI Report
Powered by github-codebuild-logs, available on the AWS Serverless Application Repository |
AWS CodeBuild CI Report
Powered by github-codebuild-logs, available on the AWS Serverless Application Repository |
…abs/jsii into rmuller/revert-serialization-change
AWS CodeBuild CI Report
Powered by github-codebuild-logs, available on the AWS Serverless Application Repository |
This fixes callback object deserialization for publicly exposed classes.
AWS CodeBuild CI Report
Powered by github-codebuild-logs, available on the AWS Serverless Application Repository |
AWS CodeBuild CI Report
Powered by github-codebuild-logs, available on the AWS Serverless Application Repository |
AWS CodeBuild CI Report
Powered by github-codebuild-logs, available on the AWS Serverless Application Repository |
AWS CodeBuild CI Report
Powered by github-codebuild-logs, available on the AWS Serverless Application Repository |
AWS CodeBuild CI Report
Powered by github-codebuild-logs, available on the AWS Serverless Application Repository |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Seems like some unrelated changes got done. But as long as the tests still pass, I suppose everything should still be good...
// NOTE: Not entirely sure yet whether this is a bug masquerading as a | ||
// feature or not. | ||
const prevRef = objectReference(value); | ||
if (prevRef) { return prevRef; } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Brave that you're taking this out. Seems unrelated though, so why risk it?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In fact, it was causing a bug because this code path would not add new interface annotations to an existing object reference like it should (an object I already passed out as "instance of X" and am now passing out as "implementor of Y"). The fix would have required duplicating the code a couple of lines below - which actually achieves the same result idempotently. This is the why :)
The title of this Pull Request does not conform with [Conventional Commits] guidelines. It will need to be adjusted before the PR can be merged. |
AWS CodeBuild CI Report
Powered by github-codebuild-logs, available on the AWS Serverless Application Repository |
The change of behavior in
any
serialization introduced in #825 risksbreaking some emerging use-cases of the AWS CDK that are likely to be
prevalent in the installed user base. As a consequence, surgically
reverting this particular change in order to restore the behavior that
users might be dependent on.
This somehow uncovered an outstanding bug in the Python runtime that
was not triggering with the "reverted" behavior (it broke unit tests).
The runtime was fixed in order to address this bug.
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.