class_docstr: Map nodes to their corresponding logs.
  
  We need to be a little careful here. At an given point in time, node_id <->
  ip can be interchangeably used, but the node_id -> ip relation is not
  bijective _across time_ since IP addresses can be reused. Therefore, we
  should treat node_id as the only unique identifier.
docstr: Get the information about all failed nodes. A failed node is any node which
  we began to track that is not pending or alive (i.e. not failed).
  
  Args:
      non_failed_ids: Nodes are failed unless they are in this set.
  
  Returns:
      List[Tuple[str, str]]: A list of tuples. Each tuple is the ip
      address and type of a failed node.
docstr_tok: ["Get","the","information","about","all","failed","nodes",".","A","failed","node","is","any","node","which","we","began","to","track","that","is","not","pending","or","alive","(","i.e",".","not","failed",")",".","Args",":","non_failed_ids",":","Nodes","are","failed","unless","they","are","in","this","set",".","Returns",":","List","[","Tuple","[","str",",","str","]","]",":","A","list","of","tuples",".","Each","tuple","is","the","ip","address","and","type","of","a","failed","node","."]
code: def get_all_failed_node_info(
      self, non_failed_ids: Set[str]
  ) -> List[Tuple[str, str]]:
      """Get the information about all failed nodes. A failed node is any node which
      we began to track that is not pending or alive (i.e. not failed).
  
      Args:
          non_failed_ids: Nodes are failed unless they are in this set.
  
      Returns:
          List[Tuple[str, str]]: A list of tuples. Each tuple is the ip
          address and type of a failed node.
      """
      failed_nodes = self.node_mapping.keys() - non_failed_ids
      failed_info = []
      # Returning the list in order is important for display purposes.
      for node_id in filter(
          lambda node_id: node_id in failed_nodes, self.lru_order
      ):
          failed_info.append(self.node_mapping[node_id])
      return failed_info
  
file_path: ray/python/ray/autoscaler/_private/node_tracker.py
imports: from typing import List, Set, Tuple
  from ray.autoscaler._private import constants
label_desc: Use image node_id 5 for calling the NodeTracker obj's underlying member method code with example usage: obj.get_all_failed_node_info(non_failed_ids) and returns: failed_info