code: def test_export_large_objects(ray_start_regular, error_pubsub):
      p = error_pubsub
      import ray._private.ray_constants as ray_constants
  
      large_object = np.zeros(
          2 * ray_constants.FUNCTION_SIZE_WARN_THRESHOLD, dtype=np.uint8
      )
  
      @ray.remote
      def f():
          large_object
  
      # Invoke the function so that the definition is exported.
      f.remote()
  
      # Make sure that a warning is generated.
      errors = get_error_message(
          p, 1, ray_constants.PICKLING_LARGE_OBJECT_PUSH_ERROR
      )
      assert len(errors) == 1
      assert (
          errors[0]["type"]
          == ray_constants.PICKLING_LARGE_OBJECT_PUSH_ERROR
      )
  
      @ray.remote
      class Foo:
          def __init__(self):
              large_object
  
      Foo.remote()
  
      # Make sure that a warning is generated.
      errors = get_error_message(
          p, 1, ray_constants.PICKLING_LARGE_OBJECT_PUSH_ERROR
      )
      assert len(errors) == 1
      assert (
          errors[0]["type"]
          == ray_constants.PICKLING_LARGE_OBJECT_PUSH_ERROR
      )
  
imports: import os
  import signal
  import sys
  import time
  import numpy
  import pytest
  import ray
  import ray._private.gcs_utils
  import ray._private.ray_constants
  import ray._private.utils
  from ray._private.test_utils import SignalActor, convert_actor_state, get_error_message, init_error_pubsub, wait_for_condition
  from ray.exceptions import GetTimeoutError, RayActorError, RayTaskError
label_desc: Use image node_id 17 for calling a global function with example usage: test_export_large_objects(ray_start_regular, error_pubsub) without return types