class_docstr: An `Executor` takes a `ScenarioState` which has a bunch of requests.
  Issue them to the API and return the results.
class_docstr_tok: ["An","`","Executor","`","takes","a","`","ScenarioState","`","which","has","a","bunch","of","requests",".","Issue","them","to","the","API","and","return","the","results","."]
code: def process(self, state: RequestState) -> RequestState:
      result: RequestResult = self.service.make_request(
          self.execution_spec.auth, state.request
      )
      if not result.success:
          if result.error_flags and not result.error_flags.is_fatal:
              hlog(
                  f"WARNING: Non-fatal error treated as empty completion: {result.error}"
              )
              result.completions = [
                  Sequence(text="", logprob=0, tokens=[])
              ]
          else:
              raise ExecutorError(
                  f"{str(result.error)} Request: {state.request}"
              )
      return replace(state, result=result)
  
file_path: H2O/h2o_hf/helm/src/helm/benchmark/executor.py
imports: from typing import Optional
  from dataclasses import dataclass, replace
  from helm.common.general import parallel_map
  from helm.common.hierarchical_logger import htrack, hlog
  from helm.common.request import RequestResult, Sequence
  from helm.common.authentication import Authentication
  from helm.proxy.services.remote_service import RemoteService
  from helm.proxy.services.server_service import ServerService
  from helm.proxy.services.service import Service
  from helm.benchmark.adaptation.scenario_state import ScenarioState
  from helm.benchmark.adaptation.request_state import RequestState
label_desc: Use image node_id 3 for calling the Executor obj's underlying member method code with example usage: obj.process(state) and returns: replace