huawei-cloudnative / firmament

The Firmament cluster scheduling platform
http://www.firmament.io
Apache License 2.0
19 stars 9 forks source link

Unnecessary NULL checks and multiple Null checks #30

Open shivramsrivastava opened 5 years ago

shivramsrivastava commented 5 years ago

NULL check is done in so many places where it is not required.

eg:- CHECK_NOTNULL(res_node);//there is no operation is done on it just passing to another function.

void FlowGraphManager::UpdateResourceNode( FlowGraphNode res_node, queue<TDOrNodeWrapper> node_queue, unordered_set marked_nodes) { CHECK_NOTNULL(res_node); UpdateResOutgoingArcs(res_node, node_queue, marked_nodes); }

void FlowGraphManager::UpdateFlowGraph( queue<TDOrNodeWrapper> node_queue, unordered_set marked_nodes) { CHECK_NOTNULL(node_queue); CHECK_NOTNULL(marked_nodes); //Not required while (!node_queue->empty()) { TDOrNodeWrapper cur_node = node_queue->front(); node_queue->pop(); if (!curnode->node) { // We're handling a task that doesn't have an associated flow graph node. UpdateChildrenTasks(cur_node->tdptr, node_queue, marked_nodes); delete cur_node; continue; } if (curnode->node->IsTaskNode()) { UpdateTaskNode(curnode->node, node_queue, marked_nodes); UpdateChildrenTasks(cur_node->tdptr, node_queue, marked_nodes); } else if (curnode->node->IsEquivalenceClassNode()) { UpdateEquivClassNode(curnode->node, node_queue, marked_nodes); } else if (curnode->node->IsResourceNode()) { UpdateResourceNode(curnode->node, node_queue, marked_nodes); } else { LOG(FATAL) << "Unexpected node type: " << curnode->node->type_; } delete cur_node; }

Note: have reservation that there are multiple NULL check as well present in the code