Uploaded image for project: 'Beam'
  1. Beam
  2. BEAM-6984 Python 3.7 Support
  3. BEAM-6986

TypeHints Py3 Error: Multiple tests fail with a generator StopIteration error on Python 3.7

Details

    • Sub-task
    • Status: Resolved
    • P2
    • Resolution: Fixed
    • None
    • 2.13.0
    • sdk-py-core
    • None

    Description

      The following tests are failing:

      • test_top_of_runtime_checking_satisfied (apache_beam.transforms.ptransform_test.PTransformTypeCheckTestCase)
      • test_functions_as_regular_generator (apache_beam.typehints.typehints_test.TestGeneratorWrapper)

      With these errors:

       

      ======================================================================
      ERROR: test_top_of_runtime_checking_satisfied (apache_beam.transforms.ptransform_test.PTransformTypeCheckTestCase)
      ----------------------------------------------------------------------
      Traceback (most recent call last):
        File "/home/jenkins/jenkins-slave/workspace/beam_PreCommit_Python_Commit/src/sdks/python/test-suites/tox/py37/build/srcs/sdks/python/apache_beam/transforms/ptransform_test.py", line 1900, in test_top_of_runtime_checking_satisfied
          self.p.run()
        File "/home/jenkins/jenkins-slave/workspace/beam_PreCommit_Python_Commit/src/sdks/python/test-suites/tox/py37/build/srcs/sdks/python/apache_beam/testing/test_pipeline.py", line 107, in run
          else test_runner_api))
        File "/home/jenkins/jenkins-slave/workspace/beam_PreCommit_Python_Commit/src/sdks/python/test-suites/tox/py37/build/srcs/sdks/python/apache_beam/pipeline.py", line 419, in run
          return self.runner.run_pipeline(self, self._options)
        File "/home/jenkins/jenkins-slave/workspace/beam_PreCommit_Python_Commit/src/sdks/python/test-suites/tox/py37/build/srcs/sdks/python/apache_beam/runners/direct/direct_runner.py", line 132, in run_pipeline
          return runner.run_pipeline(pipeline, options)
        File "/home/jenkins/jenkins-slave/workspace/beam_PreCommit_Python_Commit/src/sdks/python/test-suites/tox/py37/build/srcs/sdks/python/apache_beam/runners/portability/fn_api_runner.py", line 276, in run_pipeline
          default_environment=self._default_environment))
        File "/home/jenkins/jenkins-slave/workspace/beam_PreCommit_Python_Commit/src/sdks/python/test-suites/tox/py37/build/srcs/sdks/python/apache_beam/runners/portability/fn_api_runner.py", line 280, in run_via_runner_api
          return self.run_stages(*self.create_stages(pipeline_proto))
        File "/home/jenkins/jenkins-slave/workspace/beam_PreCommit_Python_Commit/src/sdks/python/test-suites/tox/py37/build/srcs/sdks/python/apache_beam/runners/portability/fn_api_runner.py", line 356, in run_stages
          stage_context.safe_coders)
        File "/home/jenkins/jenkins-slave/workspace/beam_PreCommit_Python_Commit/src/sdks/python/test-suites/tox/py37/build/srcs/sdks/python/apache_beam/runners/portability/fn_api_runner.py", line 511, in run_stage
          data_input, data_output)
        File "/home/jenkins/jenkins-slave/workspace/beam_PreCommit_Python_Commit/src/sdks/python/test-suites/tox/py37/build/srcs/sdks/python/apache_beam/runners/portability/fn_api_runner.py", line 1217, in process_bundle
          result_future = self._controller.control_handler.push(process_bundle)
        File "/home/jenkins/jenkins-slave/workspace/beam_PreCommit_Python_Commit/src/sdks/python/test-suites/tox/py37/build/srcs/sdks/python/apache_beam/runners/portability/fn_api_runner.py", line 832, in push
          response = self.worker.do_instruction(request)
        File "/home/jenkins/jenkins-slave/workspace/beam_PreCommit_Python_Commit/src/sdks/python/test-suites/tox/py37/build/srcs/sdks/python/apache_beam/runners/worker/sdk_worker.py", line 312, in do_instruction
          request.instruction_id)
        File "/home/jenkins/jenkins-slave/workspace/beam_PreCommit_Python_Commit/src/sdks/python/test-suites/tox/py37/build/srcs/sdks/python/apache_beam/runners/worker/sdk_worker.py", line 331, in process_bundle
          bundle_processor.process_bundle(instruction_id))
        File "/home/jenkins/jenkins-slave/workspace/beam_PreCommit_Python_Commit/src/sdks/python/test-suites/tox/py37/build/srcs/sdks/python/apache_beam/runners/worker/bundle_processor.py", line 559, in process_bundle
          op.finish()
        File "/home/jenkins/jenkins-slave/workspace/beam_PreCommit_Python_Commit/src/sdks/python/test-suites/tox/py37/build/srcs/sdks/python/apache_beam/runners/worker/operations.py", line 580, in finish
          self.dofn_runner.finish()
        File "/home/jenkins/jenkins-slave/workspace/beam_PreCommit_Python_Commit/src/sdks/python/test-suites/tox/py37/build/srcs/sdks/python/apache_beam/runners/common.py", line 781, in finish
          self._invoke_bundle_method(self.do_fn_invoker.invoke_finish_bundle)
        File "/home/jenkins/jenkins-slave/workspace/beam_PreCommit_Python_Commit/src/sdks/python/test-suites/tox/py37/build/srcs/sdks/python/apache_beam/runners/common.py", line 775, in _invoke_bundle_method
          self._reraise_augmented(exn)
        File "/home/jenkins/jenkins-slave/workspace/beam_PreCommit_Python_Commit/src/sdks/python/test-suites/tox/py37/build/srcs/sdks/python/apache_beam/runners/common.py", line 800, in _reraise_augmented
          raise_with_traceback(new_exn)
        File "/home/jenkins/jenkins-slave/workspace/beam_PreCommit_Python_Commit/src/sdks/python/test-suites/tox/py37/build/srcs/sdks/python/target/.tox-py37/py37/lib/python3.7/site-packages/future/utils/__init__.py", line 419, in raise_with_traceback
          raise exc.with_traceback(traceback)
        File "/home/jenkins/jenkins-slave/workspace/beam_PreCommit_Python_Commit/src/sdks/python/test-suites/tox/py37/build/srcs/sdks/python/apache_beam/runners/common.py", line 773, in _invoke_bundle_method
          bundle_method()
        File "/home/jenkins/jenkins-slave/workspace/beam_PreCommit_Python_Commit/src/sdks/python/test-suites/tox/py37/build/srcs/sdks/python/apache_beam/runners/common.py", line 369, in invoke_finish_bundle
          self.signature.finish_bundle_method.method_value())
        File "/home/jenkins/jenkins-slave/workspace/beam_PreCommit_Python_Commit/src/sdks/python/test-suites/tox/py37/build/srcs/sdks/python/apache_beam/runners/common.py", line 895, in finish_bundle_outputs
          for result in results:
      RuntimeError: generator raised StopIteration [while running 'AciiTop/ParDo(_TopPerBundle)']
      ======================================================================
       ERROR: test_functions_as_regular_generator (apache_beam.typehints.typehints_test.TestGeneratorWrapper)
       ----------------------------------------------------------------------
       Traceback (most recent call last):
       File "/home/jenkins/jenkins-slave/workspace/beam_PreCommit_Python_Commit/src/sdks/python/test-suites/tox/py37/build/srcs/sdks/python/apache_beam/typehints/decorators.py", line 612, in _iter_
       x = next(self.internal_gen)
       StopIteration
      The above exception was the direct cause of the following exception:
      Traceback (most recent call last):
       File "/home/jenkins/jenkins-slave/workspace/beam_PreCommit_Python_Commit/src/sdks/python/test-suites/tox/py37/build/srcs/sdks/python/apache_beam/typehints/typehints_test.py", line 725, in test_functions_as_regular_generator
       self.assertEqual((1, 2, 3), tuple(wrapped_gen))
       RuntimeError: generator raised StopIteration
      

       

      Attachments

        Issue Links

          Activity

            People

              nikenano niklas Hansson
              RobbeSneyders Robbe
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 3h 10m
                  3h 10m