apache / apache/uniffle

[FEATURE] Client send sparkConf through registerApplicationInfo rpc to Coordinator

Open
#1,984 2 comments 0 reactions 0 assignees View on GitHub
Dominant language
Java
Stars
454
Forks
172
Avg merge
5d 17h
Merged PRs (30d)
5

Description

### Code of Conduct

- [X] I agree to follow this project's [Code of Conduct](https://www.apache.org/foundation/policies/conduct)

### Search before asking

- [X] I have searched in the [issues](https://github.com/apache/incubator-uniffle/issues?q=is%3Aissue) and found no similar issues.

### Describe the feature

We can let client send sparkConf to coordinator to show more context information about this application.

### Motivation

Insight and know what application are running and being served by RSS cluster.

### Describe the solution

1. Create a util method like this.

```java
public static Map sparkConfToMap(SparkConf sparkConf) {
Map map = new HashMap<>();

for (Tuple2 tuple : sparkConf.getAll()) {
String key = tuple._1;
map.put(key, tuple._2);
}

return map;
}
```
2. Extends the ApplicationInfoRequest
```protobuf
message ApplicationInfoRequest {
string appId = 1;
string user = 2;
// new added
map properties = 3;
}
```
3. Other efforts related, finally display a column `conf` within application page.

### Additional context

_No response_

### Are you willing to submit PR?

- [X] Yes I am willing to submit a PR!

Contributor guide

Open the contributing guide

Research direction

Start by tracing the registerApplicationInfo RPC and the ApplicationInfoRequest protobuf from the client to the coordinator. Then inspect the application page entry point to determine how application details are displayed. Done means Spark configuration properties reach the coordinator and a conf column is shown on the application page.

Written by the indexing model from the issue text.

Assessment

Tech stack
java, spark
Domain
api, distributed-systems, web-dev
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.