Skip to content

Master update #2072

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

Merged
merged 22 commits into from
Sep 30, 2020
Merged

Master update #2072

merged 22 commits into from
Sep 30, 2020

Conversation

dagnir
Copy link
Contributor

@dagnir dagnir commented Sep 29, 2020

Description

Merge in master branch and bump version to 2.15.0-SNAPSHOT.

Motivation and Context

Testing

Screenshots (if appropriate)

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)

Checklist

  • I have read the CONTRIBUTING document
  • Local run of mvn install succeeds
  • My code follows the code style of this project
  • My change requires a change to the Javadoc documentation
  • I have updated the Javadoc documentation accordingly
  • I have read the README document
  • I have added tests to cover my changes
  • All new and existing tests passed
  • A short description of the change has been added to the CHANGELOG
  • My change is to implement 1.11 parity feature and I have updated LaunchChangelog

License

  • I confirm that this pull request can be released under the Apache 2 license

zoewangg and others added 19 commits August 26, 2020 15:24
…ation of JMESPath expressions for waiter acceptors.

The added JmesPathParser.parse method can convert a valid JMESPath expression into an Expression, which is a syntax tree
representation of an JMESPath expression.

The next step will be to interpret this JMESPath expression to generate an acceptor for waiters. It's likely that this
interpreter will only implement a subset of the JMESPath features.
This required the following changes:
1. Added a JMES Path interpreter based on the JMES Path parser from a previous commit. This interpreter is in the code generator and creates the Java instructions for executing the acceptor logic.
2. Added the code generator logic for specifying the acceptors.
3. Added a Waiters runtime that is currently shared between all service clients, used by the acceptors of all services.
4. Added a "MemberName" field to the SDK field metadata, so that it can be referenced by the waiter code (waiters refer to the member names from the C2J).
5. Added tests for the two most complex waiter classes: AutoScaling and ECS
6. Added support for acceptors matching supertypes of the response type.

Waiters should mostly be working now, but there are a few remaining tasks:
1. There's a WaitersRuntime component in sdk-core that should be copied to each of the service to remove them as a protected API.
2. Waiters currently only support the JMESPath syntax currently used by services. We should add support for some of the other 'easier' JMESPath syntax so that we're future-compatible with more waiters.
This keeps the runtime as a private implementation detail and no longer a
backwards compat concern as it would be if left as an SdkProtectedApi.
…ore number, fix javadocs, remove unnecessary logs

fix duplicate if statement in Expression
Fixed a bug where an exception thrown in waiterAcceptor could cause the async waiter operations to hang

Add request override config overload in Waiter
Copy link
Contributor

@zoewangg zoewangg left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we add a changelog entry? can we kick off the integ test?

@dagnir
Copy link
Contributor Author

dagnir commented Sep 29, 2020

@zoewangg Done! Added an entry and kicked off a integ test run.

@sonarqubecloud
Copy link

Kudos, SonarCloud Quality Gate passed!

Bug A 0 Bugs
Vulnerability A 0 Vulnerabilities (and Security Hotspot 0 Security Hotspots to review)
Code Smell A 68 Code Smells

85.6% 85.6% Coverage
0.4% 0.4% Duplication

warning The version of Java (1.8.0_252) you have used to run this analysis is deprecated and we will stop accepting it from October 2020. Please update to at least Java 11.
Read more here

@zoewangg zoewangg merged commit 4238d33 into aws:master Sep 30, 2020
aws-sdk-java-automation added a commit that referenced this pull request Jul 1, 2022
…ba31af43a

Pull request: release <- staging/4609ffa1-520f-41ee-aecf-401ba31af43a
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants