You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@beam.apache.org by pa...@apache.org on 2018/11/21 00:29:18 UTC

[beam] 01/01: Merge pull request #7043 from markflyhigh/py-fix-pip-download

This is an automated email from the ASF dual-hosted git repository.

pabloem pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/beam.git

commit c2df1d941fbeb17954b8c674269b98c9a8b482e6
Merge: 2f4214e 5cef2b3
Author: Pablo <pa...@users.noreply.github.com>
AuthorDate: Tue Nov 20 16:29:11 2018 -0800

    Merge pull request #7043 from markflyhigh/py-fix-pip-download
    
    [BEAM-5683] Add retry in pip download

 sdks/python/apache_beam/runners/portability/stager.py | 15 ++++++++++++---
 sdks/python/apache_beam/utils/processes.py            |  1 +
 2 files changed, 13 insertions(+), 3 deletions(-)

diff --cc sdks/python/apache_beam/runners/portability/stager.py
index fe15966,285c2c2..1a7a90f
--- a/sdks/python/apache_beam/runners/portability/stager.py
+++ b/sdks/python/apache_beam/runners/portability/stager.py
@@@ -61,9 -60,9 +60,10 @@@ from apache_beam.io.filesystems import 
  from apache_beam.options.pipeline_options import SetupOptions
  from apache_beam.options.pipeline_options import WorkerOptions
  # TODO(angoenka): Remove reference to dataflow internal names
 -from apache_beam.runners.dataflow.internal import names
 +from apache_beam.runners.dataflow.internal.names import DATAFLOW_SDK_TARBALL_FILE
 +from apache_beam.runners.internal import names
  from apache_beam.utils import processes
+ from apache_beam.utils import retry
  
  # All constants are for internal use only; no backwards-compatibility
  # guarantees.
@@@ -73,7 -72,17 +73,14 @@@ WORKFLOW_TARBALL_FILE = 'workflow.tar.g
  REQUIREMENTS_FILE = 'requirements.txt'
  EXTRA_PACKAGES_FILE = 'extra_packages.txt'
  
 -# Package names for distributions
 -BEAM_PACKAGE_NAME = 'apache-beam'
 -
  
+ def retry_on_non_zero_exit(exception):
+   if (isinstance(exception, processes.CalledProcessError) and
+       exception.returncode != 0):
+     return True
+   return False
+ 
+ 
  class Stager(object):
    """Abstract Stager identifies and copies the appropriate artifacts to the
    staging location.