Kishan Ghetia created SPARK-58969:
-------------------------------------

             Summary: [K8S] Local dependency uploads lose URI fragment aliases
                 Key: SPARK-58969
                 URL: https://issues.apache.org/jira/browse/SPARK-58969
             Project: Spark
          Issue Type: Bug
          Components: Bug
    Affects Versions: 4.1.2
            Reporter: Kishan Ghetia


Spark's Kubernetes submission path drops URI fragments from locally uploaded 
dependencies.

Spark accepts dependency URIs in the form `source#alias`. The fragment defines
the application-visible name. For example:

--files /tmp/query-random.sql#query.sql

The physical object should be uploaded as `query-random.sql`, while the 
resulting `spark.files` entry should retain `#query.sql`. This allows the 
driver to open `./query.sql` and executors to resolve 
`SparkFiles.get("query.sql")`.

On Kubernetes, `BasicDriverFeatureStep` passes local FILES, JARS, and
SUBMIT_PYTHON_FILES through `uploadAndTransformFileUris`, but does not restore
their fragments afterward. Archive fragments are handled separately and do not
have this problem.

This differs from YARN, where the distributed-cache implementation retains the
URI fragment and uses it as the localized link name.

The issue can be reproduced by running this test - 
[https://github.com/malware27/spark/commit/0fce035c761a17555b16b16d22141ac3a683e81a]
 

 

 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to