Uploaded image for project: 'Spark'
  1. Spark
  2. SPARK-31231

Support setuptools 46.1.0+ in PySpark packaging

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Blocker
    • Resolution: Fixed
    • 2.4.5, 3.0.0, 3.1.0
    • 2.4.6, 3.0.0, 3.1.0
    • PySpark
    • None

    Description

      PIP packaging test started to fail (see https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/120218/testReport/) as of setuptools 46.1.0 release.

      In https://github.com/pypa/setuptools/issues/1424, they decided to don't keep the modes in package_data. In PySpark pip installation, we keep the executable scripts in package_data https://github.com/apache/spark/blob/master/python/setup.py#L199-L200, and expose their symbolic links as executable scripts.

      So, the symbolic links (or copied scripts) executes the scripts copied from package_data, which didn't keep the modes:

      /tmp/tmp.UmkEGNFdKF/3.6/bin/spark-submit: line 27: /tmp/tmp.UmkEGNFdKF/3.6/lib/python3.6/site-packages/pyspark/bin/spark-class: Permission denied
      /tmp/tmp.UmkEGNFdKF/3.6/bin/spark-submit: line 27: exec: /tmp/tmp.UmkEGNFdKF/3.6/lib/python3.6/site-packages/pyspark/bin/spark-class: cannot execute: Permission denied
      

      The current issue is being tracked at https://github.com/pypa/setuptools/issues/2041

      Attachments

        Activity

          People

            gurwls223 Hyukjin Kwon
            gurwls223 Hyukjin Kwon
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: