Skip to content

Commit 888c52f

Browse files
committed
fix: Clean up temporary PyPI artifact files after use
write_packages_config() creates temp JSON files that were never deleted, accumulating on disk over many addArtifacts() calls. Now removes the file in a finally block after addArtifact completes.
1 parent c6636e1 commit 888c52f

1 file changed

Lines changed: 10 additions & 3 deletions

File tree

google/cloud/dataproc_spark_connect/session.py

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1214,10 +1214,17 @@ def addArtifacts(
12141214
if pypi:
12151215
artifacts = PyPiArtifacts(set(artifact))
12161216
logger.debug("Making addArtifact call to install packages")
1217-
self.addArtifact(
1218-
artifacts.write_packages_config(self._active_s8s_session_uuid),
1219-
file=True,
1217+
config_path = artifacts.write_packages_config(
1218+
self._active_s8s_session_uuid
12201219
)
1220+
try:
1221+
self.addArtifact(config_path, file=True)
1222+
finally:
1223+
try:
1224+
os.remove(config_path)
1225+
os.rmdir(os.path.dirname(config_path))
1226+
except OSError:
1227+
pass
12211228
else:
12221229
super().addArtifacts(
12231230
*artifact, pyfile=pyfile, archive=archive, file=file

0 commit comments

Comments
 (0)