Tracker so a workaround for someone else's bug doesn't become permanent.
#293 added this to LOG_PATTERN_IGNORE_LIST in client/src/utils/__init__.py:
r"SyntaxWarning: invalid escape sequence",
It suppresses a warning Glue 6.0 emits from its own job wrapper on every single job run (26/26 during the #292 evaluation):
/tmp/glue-job-*/pythonrunner/runscript.py:34: SyntaxWarning: invalid escape sequence '\.'
p = re.compile("Job aborted due to stage failure: ...")
Cause is AWS-side: line 34 of Glue's pythonrunner/runscript.py passes a regex as a plain (non-raw) string containing \., \(, \w. Python 3.12 promoted invalid escape sequences to a visible SyntaxWarning, and Glue 6.0 ships Python 3.13, so a latent defect became user-visible. Reported to the Glue team out of band.
When to close this
Once a Glue 6.x image ships with that line fixed (a raw string), delete the ignore-list entry and its comment, plus the two tests in tests/client/test_runner.py::TestPrettyPrintLogEvent that cover it.
How to tell it's fixed: run any job and check the driver's /aws-glue/jobs/output stream for the warning — filter-log-events --filter-pattern "SyntaxWarning" returning zero events across a couple of runs means the image is patched. Don't infer it from the client console, which is exactly what the entry suppresses.
Why not leave it forever
Two reasons to actually remove it rather than let it sit:
- The pattern is broad by design (
SyntaxWarning: invalid escape sequence, not pinned to runscript.py:34 so it survives line drift). While it's in place it would also hide a genuine invalid-escape warning from our own server/src. make test would catch ours long before a Glue run, which is why the tradeoff was accepted — but it's not free.
- CPython has said invalid escape sequences will eventually become a
SyntaxError. If AWS hasn't fixed it by then, runscript.py stops compiling and no client-side filter helps — worth knowing that this workaround has an expiry date rather than being a permanent shrug.
Tracker so a workaround for someone else's bug doesn't become permanent.
#293 added this to
LOG_PATTERN_IGNORE_LISTinclient/src/utils/__init__.py:r"SyntaxWarning: invalid escape sequence",It suppresses a warning Glue 6.0 emits from its own job wrapper on every single job run (26/26 during the #292 evaluation):
Cause is AWS-side: line 34 of Glue's
pythonrunner/runscript.pypasses a regex as a plain (non-raw) string containing\.,\(,\w. Python 3.12 promoted invalid escape sequences to a visibleSyntaxWarning, and Glue 6.0 ships Python 3.13, so a latent defect became user-visible. Reported to the Glue team out of band.When to close this
Once a Glue 6.x image ships with that line fixed (a raw string), delete the ignore-list entry and its comment, plus the two tests in
tests/client/test_runner.py::TestPrettyPrintLogEventthat cover it.How to tell it's fixed: run any job and check the driver's
/aws-glue/jobs/outputstream for the warning —filter-log-events --filter-pattern "SyntaxWarning"returning zero events across a couple of runs means the image is patched. Don't infer it from the client console, which is exactly what the entry suppresses.Why not leave it forever
Two reasons to actually remove it rather than let it sit:
SyntaxWarning: invalid escape sequence, not pinned torunscript.py:34so it survives line drift). While it's in place it would also hide a genuine invalid-escape warning from our ownserver/src.make testwould catch ours long before a Glue run, which is why the tradeoff was accepted — but it's not free.SyntaxError. If AWS hasn't fixed it by then,runscript.pystops compiling and no client-side filter helps — worth knowing that this workaround has an expiry date rather than being a permanent shrug.