aloof-painting-18735
02/17/2025, 12:28 PM{"asctime": "2025-02-14 17:05:58,888", "name": "flytekit", "levelname": "ERROR", "message": "Trace:\n\n Traceback (most recent call last):\n File \"/databricks/python/lib/python3.10/site-packages/flytekit/bin/entrypoint.py\", line 179, in _dispatch_execute\n outputs = task_def.dispatch_execute(ctx, idl_input_literals)\n File \"/databricks/python/lib/python3.10/site-packages/flytekit/core/base_task.py\", line 728, in dispatch_execute\n new_user_params = self.pre_execute(ctx.user_space_params)\n File \"/databricks/python/lib/python3.10/site-packages/flytekitplugins/spark/task.py\", line 209, in pre_execute\n shutil.make_archive(file_name, file_format, os.getcwd())\n File \"/usr/lib/python3.10/shutil.py\", line 1124, in make_archive\n filename = func(base_name, base_dir, **kwargs)\n File \"/usr/lib/python3.10/shutil.py\", line 1009, in _make_zipfile\n zf.write(path, arcname)\n File \"/usr/lib/python3.10/zipfile.py\", line 1754, in write\n zinfo = ZipInfo.from_file(filename, arcname,\n File \"/usr/lib/python3.10/zipfile.py\", line 523, in from_file\n zinfo = cls(arcname, date_time)\n File \"/usr/lib/python3.10/zipfile.py\", line 366, in __init__\n raise ValueError('ZIP does not support timestamps before 1980')\n ValueError: ZIP does not support timestamps before 1980\n\nMessage:\n\n ValueError: ZIP does not support timestamps before 1980"}
{"asctime": "2025-02-14 17:05:58,891", "name": "flytekit", "levelname": "ERROR", "message": "!! End Error Captured by Flyte !!"}
Obviously, passing strict_timestamps = False
to zipfile.ZipFile
call would do the trick, but as I understand it, flytekitplugins / spark relies on shutil.make_archive
which still does not support the strict_timestamp
param (see this open PR).
I have also seen this open Flyte issue: https://github.com/flyteorg/flyte/issues/4711 (that's about removing datetime metadata from files) - that would probably solve the problem too.
Anyway all these issues are open for a while. Do you have any recommendations how we can use fast registration with flytekit 1.14.6
and Spark
?careful-australia-19356
02/21/2025, 8:59 PMglamorous-carpet-83516
02/21/2025, 11:06 PMaloof-painting-18735
02/24/2025, 8:26 AMaloof-painting-18735
02/24/2025, 1:40 PMv.1.13.6
: https://github.com/flyteorg/flytekit/releases/tag/v1.13.6
Am I right? If so, I'm confused. I assume it should also work with flytekit 1.14.6 also. Am I missing something here?aloof-painting-18735
02/24/2025, 3:48 PM.tar.gz
will be: 1979-12-31 23:00
That's why we have the ZIP does not support timestamps before 1980
error.aloof-painting-18735
02/24/2025, 3:49 PMaloof-painting-18735
02/24/2025, 3:51 PMtar_info.mtime = datetime(1980, 1, 1).timestamp()
to tar_info.mtime = datetime(1980, 1, 1, tzinfo=timezone.utc).timestamp()
would fix the issuealoof-painting-18735
02/24/2025, 3:53 PMaloof-painting-18735
02/24/2025, 3:53 PMaloof-painting-18735
02/24/2025, 3:57 PMglamorous-carpet-83516
02/24/2025, 11:10 PMglamorous-carpet-83516
02/24/2025, 11:20 PMaloof-painting-18735
02/25/2025, 3:18 AMaloof-painting-18735
02/28/2025, 9:40 AMflytekit 1.14.7
, the timestamp issue is resolved now.
However, after this fix, the entypoint.py
in Databricks randomly stuck in infinite loop.
We have tried to localize the issue and found that it was introduced in flytekit == 1.13.6
, no issues in flytekit == 1.13.5
.
Randomly stuck in ZipFile.write calls:aloof-painting-18735
02/28/2025, 9:41 AMglamorous-carpet-83516
02/28/2025, 7:18 PMpyflyte register --non-fast ...
glamorous-carpet-83516
02/28/2025, 7:19 PMfull-toddler-5766
03/03/2025, 9:00 AMglamorous-carpet-83516
03/03/2025, 5:18 PMpyflyte register --non-fast …
aloof-painting-18735
03/04/2025, 2:53 PM