Details
-
Improvement
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
Description
The node code seems overly complex with 3 types of nodes:
- cache.SchedulerNode
- framework.NodeInfo
- common.Node
The first two we really need as one is the internal cache node, and the other one is K8s node.
The last one common.Node is only used for communication between the cache and the si_helper code. We do not really need that object. It is short lived, one function call, and for some of the calls we only really use one field from the object.
Creating the object and almost immediately dropping is GC overhead. It is cheaper and simpler to just pass the field(s) directly into the si_helper as we do for the application.
Attachments
Issue Links
- causes
-
YUNIKORN-1123 UpdateNode may cause the scheduler to crash
- Closed
- incorporates
-
YUNIKORN-1091 node capacity update not updated in cache
- Closed
- is related to
-
YUNIKORN-1052 Add more cluster-wide metrics to Yunikorn
- Closed
- Testing discovered
-
YUNIKORN-1124 Avoid passing empty nodeAttributes in UpdateNode request
- Closed
- links to