Allow for automated call graph generation to keep contexts unique#249
Merged
dchakrav-github merged 2 commits intoaws-cloudformation:masterfrom Apr 29, 2020
Merged
Conversation
StdCallbackContext for replay deduping. Now developers do not need to
provide a name when calling services. There is a unique call graph
context maintained for each service call made. The context is request
aware, so different requests made will have their own independent
context for dedupe
Dedupe identical requests
```java
ProgressEvent<Model, StdCallbackContext> result =
initiator.translateToServiceRequest(m -> createRepository)
.makeServiceCall((r, c) ->
c.injectCredentialsAndInvokeV2(
r, c.client()::createRepository))
.success();
ProgressEvent<Model, StdCallbackContext> result_2 =
// make same request call
initiator.translateToServiceRequest(m -> createRepository)
.makeServiceCall((r, c) ->
c.injectCredentialsAndInvokeV2(
r, c.client()::createRepository))
.success();
assertThat(result).isEqualsTo(result_2);
```
rjlohan
approved these changes
Apr 25, 2020
ammokhov
approved these changes
Apr 25, 2020
| ? ((SdkClient) client_).serviceName() | ||
| : client_.getClass().getSimpleName()); | ||
| String requestName = request != null ? request.getClass().getSimpleName().replace("Request", "") : ""; | ||
| String callGraph = serviceName + ":" + requestName + "-" + (incoming != null ? incoming : "") + "-" |
Contributor
There was a problem hiding this comment.
should we lowercase the final value?
access the map and attempt to modify it
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description of changes:
Allow for automated call graph generation to keep contexts unique
inside StdCallbackContext for replay deduping. Now developers do not need to
provide a name when calling services. One is auto-generated with the
SdkClient service name and IAM action named from Request type used.
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.