hunk.code_window:                 "The following unknown entries in the runtime_env dictionary "
                   f"will be ignored: {unknown_fields}. If you intended to use "
                   "them as plugins, they must be nested in the `plugins` field.")
           # TODO(architkulkarni) This is to make it easy for the worker caching
           # code in C++ to check if the env is empty without deserializing and
           # parsing it.  We should use a less confusing approach here.
           if all(val is None for val in self.values()):
  
hunk.labels: keep keep keep keep replace replace replace keep
hunk.after_edit:         # NOTE(architkulkarni): This allows worker caching code in C++ to check
           # if a runtime env is empty without deserializing it.  This is a catch-
           # all; for validated inputs we won't set the key if the value is None.
  
hunk.file_path: python/ray/_private/runtime_env/validation.py
hunk.type: replace
file: import os
  from opentelemetry import trace
  from opentelemetry.sdk.trace import TracerProvider
  from opentelemetry.sdk.trace.export import (
      ConsoleSpanExporter,
      SimpleSpanProcessor,
  )
  
  spans_dir = "/tmp/spans/"
  
  
  def setup_tracing() -> None:
      """Stand-in for a user-provided `setup_tracing` hook."""
      os.makedirs("/tmp/spans", exist_ok=True)
      # Sets the tracer_provider. This is only allowed once per execution
      # context and will log a warning if attempted multiple times.
      trace.set_tracer_provider(TracerProvider())
      trace.get_tracer_provider().add_span_processor(
          SimpleSpanProcessor(
              ConsoleSpanExporter(
                  out=open(f"{spans_dir}{os.getpid()}.txt", "w"),
                  formatter=lambda span: span.to_json(indent=None) + os.linesep,
              )))
  