code: def test_run_from_processing_job_and_override_default_exp_config(
      sagemaker_session,
      dev_sdk_tar,
      run_obj,
      execution_role,
      sagemaker_client_config,
      sagemaker_metrics_config,
  ):
      # Notes:
      # 1. The 1st Run (run) created locally
      # 2. Within the 2nd Run (run_obj)'s context, invoke processor.run
      # but override the default experiment config in context of 2nd Run
      # with the experiment config of the 1st Run
      # 3. In the processing job script, load the 1st Run via the experiment config
      # fetched from the job env
      # 4. All data are logged in the Run either locally or in the processing job
      exp_name = unique_name_from_base(_EXP_NAME_BASE_IN_SCRIPT)
      processor = _generate_processor(
          exp_name=exp_name,
          sagemaker_session=sagemaker_session,
          execution_role=execution_role,
          sagemaker_client_config=sagemaker_client_config,
          sagemaker_metrics_config=sagemaker_metrics_config,
      )
  
      with cleanup_exp_resources(
          exp_names=[exp_name], sagemaker_session=sagemaker_session
      ):
          with Run(
              experiment_name=exp_name,
              run_name=_RUN_NAME_IN_SCRIPT,
              sagemaker_session=sagemaker_session,
          ) as run:
              _local_run_log_behaviors(
                  is_complete_log=False,
                  sagemaker_session=sagemaker_session,
              )
  
          with run_obj:
              # Override the default experiment_config in _RunContext of run_obj
              # with the experiment_config of run
              processor.run(
                  code=_PYTHON_PROCESS_SCRIPT,
                  source_dir=_EXP_DIR,
                  job_name=f"process-job-{name()}",
                  wait=True,  # wait the job to finish
                  logs=False,
                  experiment_config=run.experiment_config,
              )
  
          assert run_obj.experiment_name != run.experiment_name
          assert run_obj.run_name != run.run_name
          _check_run_from_local_end_result(
              tc=run._trial_component,
              sagemaker_session=sagemaker_session,
              is_complete_log=False,
          )
          tc_name = Run._generate_trial_component_name(
              experiment_name=run.experiment_name, run_name=run.run_name
          )
          _check_run_from_job_result(
              tc_name=tc_name,
              sagemaker_session=sagemaker_session,
              is_init=False,
          )
  
          with run_obj:
              # Not to override the exp config and use the default one in the context
              processor.run(
                  code=_PYTHON_PROCESS_SCRIPT,
                  source_dir=_EXP_DIR,
                  job_name=f"process-job-{name()}",
                  wait=True,  # wait the job to finish
                  logs=False,
              )
  
          tc_name = Run._generate_trial_component_name(
              experiment_name=run_obj.experiment_name,
              run_name=run_obj.run_name,
          )
          _check_run_from_job_result(
              tc_name=tc_name,
              sagemaker_session=sagemaker_session,
              is_init=False,
          )
  
imports: from __future__ import absolute_import
  import datetime
  import json
  import os
  import time
  import pytest
  from tests.conftest import CUSTOM_S3_OBJECT_KEY_PREFIX
  from tests.integ.sagemaker.experiments.conftest import TAGS
  from sagemaker.experiments._api_types import _TrialComponentStatusType
  from sagemaker.experiments._utils import is_run_trial_component
  from sagemaker.processing import FrameworkProcessor
  from sagemaker.pytorch import PyTorch
  from sagemaker.s3 import S3Uploader
  from sagemaker.xgboost import XGBoostModel
  from tests.integ import DATA_DIR
  from sagemaker.experiments._metrics import BATCH_SIZE
  from sagemaker.experiments.trial_component import _TrialComponent
  from sagemaker.sklearn import SKLearn
  from sagemaker.utils import retry_with_backoff, unique_name_from_base
  from tests.integ.sagemaker.experiments.helpers import name, cleanup_exp_resources
  from sagemaker.experiments.run import RUN_NAME_BASE, DELIMITER
  from sagemaker.experiments import Run, load_run, list_runs
  from sagemaker.experiments._helper import _DEFAULT_ARTIFACT_PREFIX
label_desc: Use image node_id 8 for calling a global function with example usage: test_run_from_processing_job_and_override_default_exp_config(sagemaker_session, dev_sdk_tar, run_obj, execution_role, sagemaker_client_config, sagemaker_metrics_config) without return types