Uploaded image for project: 'Beam'
  1. Beam
  2. BEAM-3537

Remove DirectRunner-specific internal PValue cache, allow more general eager in-process pipeline execution

Details

    • Bug
    • Status: Resolved
    • P2
    • Resolution: Fixed
    • 2.2.0
    • 2.3.0
    • sdk-py-core
    • None

    Description

      Currently, the Python SDK supports an eager execution mode.  For example, a list can be directly passed into a PTransform to obtain its result:

      result = [1, 2, 3] | MyPTransform()

      To support this use, the Python DirectRunner has an option to cache its intermediate results into a PValueCache.  The above line, when run, implicitly creates an ephemeral pipeline and runs it with the DirectRunner.  This, however, adds a lot of complexity to the DirectRunner, and is not generalizable to other in-process Python runners (like the in-process Python FnApiRunner).

      To improve this, we should remove this DirectRunner-specific implementation and add functionality that allows all in-process Python runners to be run in eager mode.

      Attachments

        Issue Links

          Activity

            People

              ccy Charles Chen
              ccy Charles Chen
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: