-
Notifications
You must be signed in to change notification settings - Fork 13.8k
[FLINK-38717][runtime] Display the load status of TaskManagers. #27291
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
Conversation
be7fecf to
ccad127
Compare
|
Hi, @ferenc-csaky Could you help take a look ? Thank you ! |
7e0f3b2 to
05a7878
Compare
ferenc-csaky
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think assignedTasks instead of numberOfTasks would cover better what this field is intended for.
I do not see why do we need to use LoadingWeight for this. It feels forced to me, and I maybe I miss something, but I also feel it complicates this change for nothing.
...k-runtime-web/web-dashboard/src/app/pages/task-manager/list/task-manager-list.component.html
Outdated
Show resolved
Hide resolved
Thank you @ferenc-csaky for the comments. Pls let me have a try on clarifying it: Initially, I did not use Why I switched to
Both approaches are acceptable to me. If you believe that, for the current change, adhering to the minimal change principle should take priority, I'd be happy to revise the implementation accordingly. |
|
Hi @ferenc-csaky May I know your next suggestions or opinion if you had the free time ? |
05a7878 to
bd645fb
Compare
|
@RocMarshal thanks for the detailed explanation. I was not aware what |
bd645fb to
74b13c8
Compare
|
Thanks @ferenc-csaky for the review |
| @Nullable | ||
| Integer getAssignedTasks(InstanceID instanceId); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Any specific reason to make this a nullable object instead of a primitive int, just like the other numeric statistics we already have? And I mean it for any interface/class we added this, so SlotManager and TaskManagerSlotInformation as well.
getNumberRegisteredSlotsOf(InstanceID instanceId) is also optional, and we just return 0 in that case. That's simpler code wise and in this context null means 0, so it seems to be fine, hence I'm not sure why we handle this differently.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the comments.
Since we currently synchronize the value of assignedTasks via slot reports, there may be an intermediate state where a null value is needed to represent it: a slot has not received any slot report information yet. In this case, representing assignedTasks as an uninitialized state (i.e., null) might be more appropriate.
I also agree with your point. This is really just a matter of choice, since in principle I likewise prefer the logic and implementation to be as simple as possible.
Updated.
…the detailed TaskManager page.
74b13c8 to
26b33be
Compare
ferenc-csaky
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, thanks for iterating on this! CI failure seems orthogonal to this change, but I only gave it a quick look, I'll give you the chance to take a look and then we can merge if you agree as well.
26b33be to
efbbb4e
Compare
Thank you @ferenc-csaky for your hard review & checking. +1, the ci was failed due to the flakey test cases likes [1][2], which is orthogonal to this change. [1] https://issues.apache.org/jira/browse/FLINK-38727 |
|
Thanks @ferenc-csaky for the idea to generate the patch and hard work on review 👍 |
What is the purpose of the change
Brief change log
Verifying this change
This change added tests and can be verified as follows:
org.apache.flink.runtime.resourcemanager.ResourceManagerTaskExecutorTest#testRequestTaskManagerDetailsInfo
integration test result:
Does this pull request potentially affect one of the following parts:
@Public(Evolving): (yes / no)Documentation