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

[#477][part-0] feat: add ShuffleManagerServer impl #777

Merged
merged 5 commits into from
Mar 30, 2023

Conversation

advancedxy
Copy link
Contributor

What changes were proposed in this pull request?

  1. add shuffle manager proto
  2. the corresponding client and server impls
  3. add the RssShuffleManagerInterface

Why are the changes needed?

This is the first part of #477.
To support re-submit spark stage, the ShuffleManagerServer should be introduced first.

Does this PR introduce any user-facing change?

No.

How was this patch tested?

Added UTs and one integration test.

@codecov-commenter
Copy link

codecov-commenter commented Mar 29, 2023

Codecov Report

Merging #777 (10bdf76) into master (1b48c12) will decrease coverage by 1.84%.
The diff coverage is 64.18%.

@@             Coverage Diff              @@
##             master     #777      +/-   ##
============================================
- Coverage     61.16%   59.32%   -1.84%     
- Complexity     1985     2029      +44     
============================================
  Files           245      284      +39     
  Lines         13422    12554     -868     
  Branches       1125     1185      +60     
============================================
- Hits           8209     7448     -761     
+ Misses         4751     4693      -58     
+ Partials        462      413      -49     
Impacted Files Coverage Δ
...t/request/RssReportShuffleFetchFailureRequest.java 0.00% <0.00%> (ø)
...response/RssReportShuffleFetchFailureResponse.java 0.00% <0.00%> (ø)
...fle/client/impl/grpc/ShuffleManagerGrpcClient.java 50.00% <50.00%> (ø)
...java/org/apache/uniffle/common/rpc/GrpcServer.java 79.10% <66.66%> (+57.56%) ⬆️
...fle/shuffle/manager/ShuffleManagerGrpcService.java 82.43% <82.43%> (ø)
...e/shuffle/manager/ShuffleManagerServerFactory.java 93.75% <93.75%> (ø)
...pache/uniffle/common/metrics/EmptyGRPCMetrics.java 100.00% <100.00%> (ø)
...org/apache/uniffle/common/metrics/GRPCMetrics.java 48.61% <100.00%> (+0.72%) ⬆️
...le/client/factory/ShuffleManagerClientFactory.java 100.00% <100.00%> (ø)

... and 68 files with indirect coverage changes

📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more

jerqi
jerqi previously approved these changes Mar 29, 2023
Copy link
Contributor

@jerqi jerqi left a comment

Choose a reason for hiding this comment

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

LGTM

jerqi
jerqi previously approved these changes Mar 29, 2023
@advancedxy
Copy link
Contributor Author

@zuston do you some any more comments?

zuston
zuston previously approved these changes Mar 30, 2023
Copy link
Member

@zuston zuston left a comment

Choose a reason for hiding this comment

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

LGTM. Left minor comments

}

public GrpcServer getServer() {
String type = conf.getString(RssBaseConf.RPC_SERVER_TYPE);
Copy link
Member

Choose a reason for hiding this comment

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

It looks RPC_SERVER_TYPE should be refactored as ENUM type

Copy link
Contributor Author

Choose a reason for hiding this comment

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

There are multiple definitions of ServerType enums, let's refactor that in a new pr.

public class ShuffleManagerGrpcClient extends GrpcClient implements ShuffleManagerClient {

private static final Logger LOG = LoggerFactory.getLogger(ShuffleManagerGrpcClient.class);
private static final long RPC_TIMEOUT_DEFAULT_MS = 60000;
Copy link
Member

Choose a reason for hiding this comment

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

Should be configurable?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Should be. Let's do this in another pr. This code is aligned with other Client impls, such as ShuffleServerGrpcClient.
We should refactor these together.

@advancedxy advancedxy merged commit ea5a3ba into apache:master Mar 30, 2023
xianjingfeng pushed a commit to xianjingfeng/incubator-uniffle that referenced this pull request Apr 5, 2023
### What changes were proposed in this pull request?
1. add shuffle manager proto
2. the corresponding client and server impls
3. add the RssShuffleManagerInterface 

### Why are the changes needed?
This is the first part of apache#477. 
To support re-submit spark stage, the ShuffleManagerServer should be introduced first.

### Does this PR introduce _any_ user-facing change?
No.

### How was this patch tested?
Added UTs and one integration test.
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.

None yet

4 participants