Skip to content
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: orchestrator flow #2699

Merged
merged 25 commits into from
May 18, 2023
Merged

Fix: orchestrator flow #2699

merged 25 commits into from
May 18, 2023

Conversation

Velfi
Copy link
Contributor

@Velfi Velfi commented May 12, 2023

Motivation and Context

Necessary before we can implement retries.

Description

I noticed that we weren't handling the flow quite right when errors occurred. This PR fixes that and adds interceptor-based tests to ensure things are working right. I still think we could use more tests but the PR is already quite large.

Testing

This PR contains tests


By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

@Velfi
Copy link
Contributor Author

Velfi commented May 12, 2023

I still have some rough edges to sand off, but the interceptor tests are passing.

@Velfi
Copy link
Contributor Author

Velfi commented May 12, 2023

Resolving the conflict with Yuki's changes seems a bit tough. I'll save that for next week.

Copy link
Collaborator

@jdisanti jdisanti left a comment

Choose a reason for hiding this comment

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

Very nice work on this! It's a huge improvement.

@github-actions
Copy link

A new generated diff is ready to view.

  • AWS SDK (ignoring whitespace)
  • No codegen difference in the Client Test
  • No codegen difference in the Server Test
  • No codegen difference in the Server Test Python
  • No codegen difference in the Server Test Typescript

A new doc preview is ready to view.

@github-actions
Copy link

A new generated diff is ready to view.

  • AWS SDK (ignoring whitespace)
  • No codegen difference in the Client Test
  • No codegen difference in the Server Test
  • No codegen difference in the Server Test Python
  • No codegen difference in the Server Test Typescript

A new doc preview is ready to view.

@Velfi Velfi marked this pull request as ready for review May 16, 2023 20:36
@Velfi Velfi requested a review from a team as a code owner May 16, 2023 20:36
Copy link
Collaborator

@jdisanti jdisanti left a comment

Choose a reason for hiding this comment

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

Overall, I really like these changes! Great work on this.

@@ -61,6 +62,11 @@ impl InterceptorError {
interceptor_error_fn!(modify_before_completion => ModifyBeforeCompletion (with source));
interceptor_error_fn!(read_after_execution => ReadAfterExecution (with source));

interceptor_error_fn!(modify_before_attempt_completion_failed => ModifyBeforeAttemptCompletion (with source));
Copy link
Collaborator

Choose a reason for hiding this comment

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

Are these still needed?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Yes, because even though an error in these interceptors won't cause us to return, we still need to record that an interceptor failed.

rust-runtime/aws-smithy-runtime/src/client/orchestrator.rs Outdated Show resolved Hide resolved
@github-actions
Copy link

A new generated diff is ready to view.

  • AWS SDK (ignoring whitespace)
  • No codegen difference in the Client Test
  • No codegen difference in the Server Test
  • No codegen difference in the Server Test Python
  • No codegen difference in the Server Test Typescript

A new doc preview is ready to view.

Velfi added 3 commits May 17, 2023 09:33
remove: `impl From<InterceptorError> for TypeErasedError`
formatting: update the `halt_on_err` macro to fmt nicely
@github-actions
Copy link

A new generated diff is ready to view.

  • AWS SDK (ignoring whitespace)
  • No codegen difference in the Client Test
  • No codegen difference in the Server Test
  • No codegen difference in the Server Test Python
  • No codegen difference in the Server Test Typescript

A new doc preview is ready to view.

@github-actions
Copy link

A new generated diff is ready to view.

  • AWS SDK (ignoring whitespace)
  • No codegen difference in the Client Test
  • No codegen difference in the Server Test
  • No codegen difference in the Server Test Python
  • No codegen difference in the Server Test Typescript

A new doc preview is ready to view.

@Velfi Velfi added this pull request to the merge queue May 17, 2023
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks May 17, 2023
@Velfi Velfi added this pull request to the merge queue May 17, 2023
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks May 17, 2023
@Velfi Velfi added this pull request to the merge queue May 17, 2023
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks May 17, 2023
@Velfi Velfi added this pull request to the merge queue May 17, 2023
@Velfi Velfi removed this pull request from the merge queue due to a manual request May 17, 2023
@Velfi Velfi enabled auto-merge May 17, 2023 21:26
@Velfi Velfi disabled auto-merge May 18, 2023 14:10
@Velfi Velfi enabled auto-merge May 18, 2023 14:57
@Velfi Velfi added this pull request to the merge queue May 18, 2023
@github-actions
Copy link

A new generated diff is ready to view.

  • AWS SDK (ignoring whitespace)
  • No codegen difference in the Client Test
  • No codegen difference in the Server Test
  • No codegen difference in the Server Test Python
  • No codegen difference in the Server Test Typescript

A new doc preview is ready to view.

Merged via the queue into main with commit a9e22ce May 18, 2023
@Velfi Velfi deleted the fix/orchestrator-flow branch May 18, 2023 15:26
david-perez pushed a commit that referenced this pull request May 19, 2023
## Motivation and Context
<!--- Why is this change required? What problem does it solve? -->
<!--- If it fixes an open issue, please link to the issue here -->
Necessary before we can implement retries.

## Description
<!--- Describe your changes in detail -->
I noticed that we weren't handling the flow quite right when errors
occurred. This PR fixes that and adds interceptor-based tests to ensure
things are working right. I still think we could use more tests but the
PR is already quite large.

## Testing
<!--- Please describe in detail how you tested your changes -->
<!--- Include details of your testing environment, and the tests you ran
to -->
<!--- see how your change affects other areas of the code, etc. -->
This PR contains tests

----

_By submitting this pull request, I confirm that you can use, modify,
copy, and redistribute this contribution, under the terms of your
choice._
david-perez pushed a commit that referenced this pull request May 22, 2023
## Motivation and Context
<!--- Why is this change required? What problem does it solve? -->
<!--- If it fixes an open issue, please link to the issue here -->
Necessary before we can implement retries.

## Description
<!--- Describe your changes in detail -->
I noticed that we weren't handling the flow quite right when errors
occurred. This PR fixes that and adds interceptor-based tests to ensure
things are working right. I still think we could use more tests but the
PR is already quite large.

## Testing
<!--- Please describe in detail how you tested your changes -->
<!--- Include details of your testing environment, and the tests you ran
to -->
<!--- see how your change affects other areas of the code, etc. -->
This PR contains tests

----

_By submitting this pull request, I confirm that you can use, modify,
copy, and redistribute this contribution, under the terms of your
choice._
david-perez pushed a commit that referenced this pull request May 22, 2023
## Motivation and Context
<!--- Why is this change required? What problem does it solve? -->
<!--- If it fixes an open issue, please link to the issue here -->
Necessary before we can implement retries.

## Description
<!--- Describe your changes in detail -->
I noticed that we weren't handling the flow quite right when errors
occurred. This PR fixes that and adds interceptor-based tests to ensure
things are working right. I still think we could use more tests but the
PR is already quite large.

## Testing
<!--- Please describe in detail how you tested your changes -->
<!--- Include details of your testing environment, and the tests you ran
to -->
<!--- see how your change affects other areas of the code, etc. -->
This PR contains tests

----

_By submitting this pull request, I confirm that you can use, modify,
copy, and redistribute this contribution, under the terms of your
choice._
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.

2 participants