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

[#1401][part-1] The dashboard supports multiple Coordinator links. #1449

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

yl09099
Copy link
Contributor

@yl09099 yl09099 commented Jan 14, 2024

What changes were proposed in this pull request?

After multiple coordinators are deployed, a dashboard is added to link multiple coordinators.

image

Why are the changes needed?

Fix: #1401

Does this PR introduce any user-facing change?

No.

How was this patch tested?

No.

@codecov-commenter
Copy link

codecov-commenter commented Jan 14, 2024

Codecov Report

Attention: 43 lines in your changes are missing coverage. Please review.

Comparison is base (b43bbd8) 54.15% compared to head (9f06a14) 54.86%.
Report is 12 commits behind head on master.

Files Patch % Lines
...pache/uniffle/dashboard/web/resource/Response.java 0.00% 18 Missing ⚠️
...apache/uniffle/dashboard/web/JettyServerFront.java 0.00% 6 Missing ⚠️
...shboard/web/resource/GainCoordinatorsResource.java 0.00% 6 Missing ⚠️
...e/uniffle/dashboard/web/proxy/WebProxyServlet.java 0.00% 4 Missing ⚠️
...e/uniffle/dashboard/web/resource/BaseResource.java 0.00% 4 Missing ⚠️
...he/uniffle/dashboard/web/utils/DashboardUtils.java 72.72% 3 Missing ⚠️
...he/uniffle/dashboard/web/resource/WebResource.java 0.00% 2 Missing ⚠️
Additional details and impacted files
@@             Coverage Diff              @@
##             master    #1449      +/-   ##
============================================
+ Coverage     54.15%   54.86%   +0.70%     
- Complexity     2773     2806      +33     
============================================
  Files           423      415       -8     
  Lines         24178    22141    -2037     
  Branches       2057     2079      +22     
============================================
- Hits          13094    12147     -947     
+ Misses        10275     9236    -1039     
+ Partials        809      758      -51     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@yl09099 yl09099 force-pushed the uniffle-1141 branch 2 times, most recently from 0e92c00 to eecddd0 Compare January 15, 2024 02:21
@zuston
Copy link
Member

zuston commented Jan 15, 2024

Could you help review this? @xianjingfeng

//The system obtains data from global variables and requests the interface to obtain new data after data changes.
const currentServerStore= useCurrentServerStore()
currentServerStore.$subscribe((mutable,state)=>{
const headrs={"targetAddress":state.currentServer}
Copy link
Member

Choose a reason for hiding this comment

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

Is it better that passing this parameter through cookie?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Is it better that passing this parameter through cookie?

This is global. The role of cookies is not well understood.

Copy link
Member

Choose a reason for hiding this comment

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

It is not graceful to set the header before each request. Some code is redundant.

Copy link
Member

Choose a reason for hiding this comment

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

Or maybe you can use local storage and get targetAddress from the local storage before invoking the http interfaces

Copy link
Member

Choose a reason for hiding this comment

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

@rickyma
Copy link
Contributor

rickyma commented Jan 15, 2024

Can we also fix the following spelling issues in this PR?

My suggesion will be:
ResigerTime -> RegistrationTime
in files:
dashboard/src/main/webapp/src/components/shufflecomponent/ActiveNodeListPage.vue
dashboard/src/main/webapp/src/components/shufflecomponent/DecommissionednodeListPage.vue
dashboard/src/main/webapp/src/components/shufflecomponent/DecommissioningNodeListPage.vue
dashboard/src/main/webapp/src/components/shufflecomponent/LostNodeList.vue
dashboard/src/main/webapp/src/components/shufflecomponent/UnhealthyNodeListPage.vue

@yl09099

@yl09099
Copy link
Contributor Author

yl09099 commented Jan 21, 2024

Can we also fix the following spelling issues in this PR?

My suggesion will be: ResigerTime -> RegistrationTime in files: dashboard/src/main/webapp/src/components/shufflecomponent/ActiveNodeListPage.vue dashboard/src/main/webapp/src/components/shufflecomponent/DecommissionednodeListPage.vue dashboard/src/main/webapp/src/components/shufflecomponent/DecommissioningNodeListPage.vue dashboard/src/main/webapp/src/components/shufflecomponent/LostNodeList.vue dashboard/src/main/webapp/src/components/shufflecomponent/UnhealthyNodeListPage.vue

@yl09099

Have changed.

@@ -32,6 +32,7 @@
"core-js": "^3.8.3",
"element-plus": "^2.3.6",
"moment": "^2.29.4",
"pinia": "^2.1.7",
Copy link
Member

Choose a reason for hiding this comment

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

I just learned about pinia. Can the data in the store be shared between tabs of a browser?

Copy link
Member

Choose a reason for hiding this comment

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

I suggest remove pinia, we can just use localStorage. @yl09099 @zuston @rickyma PTAL

@rickyma
Copy link
Contributor

rickyma commented Apr 3, 2024

No progress for this? I think we need a more powerful dashboard.

@zuston
Copy link
Member

zuston commented Apr 3, 2024

No progress for this? I think we need a more powerful dashboard.

Do you have thought on this? feel free to discuss more here

@rickyma
Copy link
Contributor

rickyma commented Apr 4, 2024

No progress for this? I think we need a more powerful dashboard.

Do you have thought on this? feel free to discuss more here

I believe the dashboard should be updated regularly, as it provides the most intuitive experience for users. And it facilitates the management and operation of the RSS cluster for dev and ops.

I think it could be improved by:

@zuston

Copy link

Test Results

 2 358 files   - 5   2 358 suites   - 5   4h 28m 12s ⏱️ - 2m 14s
   913 tests +1     911 ✅ ±0   1 💤 ±0  0 ❌ ±0  1 🔥 +1 
10 580 runs   - 5  10 565 ✅  - 6  14 💤 ±0  0 ❌ ±0  1 🔥 +1 

For more details on these errors, see this check.

Results for commit b4142f6. ± Comparison against base commit 6ea4300.

@rickyma
Copy link
Contributor

rickyma commented Apr 15, 2024

This is a flaky test. We can ignore this for now. I have already created an issue for this #1628.

It is ready for review? Can anyone review this? We wanna use this on production this month. @yl09099

@zuston
Copy link
Member

zuston commented Apr 16, 2024

@xianjingfeng Could you help review this?

@rickyma
Copy link
Contributor

rickyma commented Apr 16, 2024

ping @xianjingfeng

@@ -16,4 +16,16 @@
*/

module.exports ={
// 可以通过配置 vue.config.js 文件来设置代理,以将请求代理到后端服务器。
Copy link
Member

Choose a reason for hiding this comment

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

Could you translate this sentence into english?


@GET
@Path("/coordinatorList")
public Response getCoordinatorServers() {
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
public Response getCoordinatorServers() {
public Response<Map<String, String>> getCoordinatorServers() {

import org.apache.hbase.thirdparty.javax.ws.rs.core.MediaType;

@Produces({MediaType.APPLICATION_JSON})
public class GainCoordinatorsResource extends BaseResource {
Copy link
Member

Choose a reason for hiding this comment

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

I think CoordinatorsResource is better.

import org.apache.hbase.thirdparty.javax.ws.rs.Produces;
import org.apache.hbase.thirdparty.javax.ws.rs.core.MediaType;

@Path("web")
Copy link
Member

Choose a reason for hiding this comment

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

I'm not sure if this path is correct. Is the url will be like '/web/coordinator/...'?

@@ -59,6 +59,12 @@ const routes = [
name: 'applicationpage',
component: ApplicationPage,
},
{
path: '/nullpage',
Copy link
Member

Choose a reason for hiding this comment

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

Is this necessary?

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.

[Umbrella] Enhance dashboard capabilities.
5 participants