code: def __getattr__(self, item):
      if item in ("main_pool", "sub_pools"):  # pragma: no cover
          return object.__getattribute__(self, item)
      return getattr(self.main_pool, item)
  
file_path: mars/mars/oscar/backends/ray/backend.py
imports: import logging
  from typing import Dict
  from ....utils import lazy_import, Timer
  from ...backend import BaseActorBackend, register_backend
  from ..context import MarsActorContext
  from .driver import RayActorDriver
  from .pool import RayMainPool
  from .utils import process_address_to_placement, get_placement_group
label_desc: Use image node_id 2 for calling the RayPoolHandle obj's underlying member method code with example usage: obj.__getattr__(item) and returns: getattr, object