code: def test_not_reusing_task_workers(shutdown_only):
      @ray.remote
      def create_ref():
          ref = ray.put(np.zeros(100_000_000))
          return ref
  
      @ray.remote
      class Actor:
          def __init__(self):
              return
  
          def foo(self):
              return
  
      ray.init(num_cpus=1, object_store_memory=1000_000_000)
      wrapped_ref = create_ref.remote()
      print(ray.get(ray.get(wrapped_ref)))
  
      # create_ref worker gets reused as an actor.
      a = Actor.remote()
      ray.get(a.foo.remote())
      # Actor will get force-killed.
      del a
  
      # Flush the object store.
      for _ in range(10):
          ray.put(np.zeros(100_000_000))
  
      # Object has been evicted and owner has died. Throws OwnerDiedError.
      print(ray.get(ray.get(wrapped_ref)))
  
imports: import datetime
  import os
  import random
  import sys
  import tempfile
  import numpy
  import pytest
  import ray
  from ray import cloudpickle
  from ray._private import ray_constants
  from ray._private.test_utils import client_test_enabled, wait_for_condition, wait_for_pid_to_exit
  from ray.actor import ActorClassInheritanceException
  from ray.tests.client_test_utils import create_remote_signal_actor
  from ray._private.test_utils import SignalActor
  import setproctitle
label_desc: Use image node_id 2 for calling a global function with example usage: test_not_reusing_task_workers(shutdown_only) and returns: ref