Repository navigation
Commit f0ed057
committed
Fix invalid escape sequences in gpMgmt Python sources
Python 3.12 promoted "invalid escape sequence" from a DeprecationWarning
(hidden by default) to a SyntaxWarning that is printed whenever the
module is compiled. On distributions shipping Python 3.12 or newer --
Rocky Linux 10, Fedora 40+, Ubuntu 24.10+ -- the management utilities
therefore print warnings before doing any work:
/usr/local/cloudberry-db/lib/python/gppylib/util/ssh_utils.py:268:
SyntaxWarning: invalid escape sequence '\ '
/usr/local/cloudberry-db/bin/lib/pexpect/pxssh.py:105:
SyntaxWarning: invalid escape sequence '\['
/usr/local/cloudberry-db/bin/lib/pexpect/pxssh.py:109:
SyntaxWarning: invalid escape sequence '\$'
/usr/local/cloudberry-db/bin/lib/pexpect/pxssh.py:110:
SyntaxWarning: invalid escape sequence '\$'
The four above come from gpsync/gpssh/gpssh-exkeys and are the ones
users see; compiling everything under gpMgmt/ turns up 41 such literals
in 16 files. Nothing misbehaves today -- CPython leaves an unrecognised
escape in the string as-is, which happens to be what a regex or a shell
snippet wants -- but the warnings are noise on stderr, and the Python
docs say these sequences will become a SyntaxError in a future release.
Fix the literals rather than silencing the warning:
* a literal whose every backslash escape is invalid gets an r prefix
* a literal that mixes valid and invalid escapes has the invalid
backslash doubled instead, since r would also change the meaning
of the valid ones
Both transformations leave the literal's runtime value byte-for-byte
identical, which was verified mechanically: for each touched file the
ordered list of str/bytes constants in the AST is unchanged against the
parent commit, and compiling the file under -W error::SyntaxWarning is
now clean.
Two of the rewrites are worth a reviewer's eye:
* gpstate_utils.py:79 and replication_slots_utils.py:31 are the
mixed-escape case, so they read '\\%' and '\\A' now.
* the '\A' in replication_slots_utils.py looks like a stray keystroke
in a run of shell line continuations -- the shell it is handed sees
"&& A ./demo_cluster.sh" and tries to run A. That is pre-existing
behaviour, so this commit preserves it exactly rather than quietly
changing what the behave step does; it wants a separate fix.
gpMgmt/bin/lib/pexpect is a vendored copy of pexpect 3.3; upstream
pexpect made these same literals raw long ago.
27 more files under src/ and contrib/ (mostly gporca and try_convert
developer scripts) have the same problem and are left for a follow-up.1 parent 89baa48 commit f0ed057
16 files changed
Lines changed: 40 additions & 40 deletions
File tree
- gpMgmt
- bin
- gpload_test/gpload
- gppylib
- programs/test/unit
- test/unit
- util
- lib/pexpect
- sbin
- test
- behave_utils
- behave/mgmt_utils/steps
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
717 | 717 | | |
718 | 718 | | |
719 | 719 | | |
720 | | - | |
| 720 | + | |
721 | 721 | | |
722 | 722 | | |
723 | 723 | | |
| |||
2527 | 2527 | | |
2528 | 2528 | | |
2529 | 2529 | | |
2530 | | - | |
| 2530 | + | |
2531 | 2531 | | |
2532 | 2532 | | |
2533 | 2533 | | |
| |||
2672 | 2672 | | |
2673 | 2673 | | |
2674 | 2674 | | |
2675 | | - | |
| 2675 | + | |
2676 | 2676 | | |
2677 | 2677 | | |
2678 | 2678 | | |
| |||
2686 | 2686 | | |
2687 | 2687 | | |
2688 | 2688 | | |
2689 | | - | |
| 2689 | + | |
2690 | 2690 | | |
2691 | 2691 | | |
2692 | 2692 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
319 | 319 | | |
320 | 320 | | |
321 | 321 | | |
322 | | - | |
| 322 | + | |
323 | 323 | | |
324 | 324 | | |
325 | 325 | | |
326 | 326 | | |
327 | 327 | | |
328 | 328 | | |
329 | | - | |
| 329 | + | |
330 | 330 | | |
331 | | - | |
| 331 | + | |
332 | 332 | | |
333 | | - | |
| 333 | + | |
334 | 334 | | |
335 | | - | |
| 335 | + | |
336 | 336 | | |
337 | 337 | | |
338 | 338 | | |
| |||
350 | 350 | | |
351 | 351 | | |
352 | 352 | | |
353 | | - | |
| 353 | + | |
354 | 354 | | |
355 | | - | |
| 355 | + | |
356 | 356 | | |
357 | 357 | | |
358 | 358 | | |
| |||
407 | 407 | | |
408 | 408 | | |
409 | 409 | | |
410 | | - | |
| 410 | + | |
411 | 411 | | |
412 | 412 | | |
413 | 413 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
294 | 294 | | |
295 | 295 | | |
296 | 296 | | |
297 | | - | |
| 297 | + | |
298 | 298 | | |
299 | 299 | | |
300 | 300 | | |
301 | 301 | | |
302 | 302 | | |
303 | 303 | | |
304 | | - | |
| 304 | + | |
305 | 305 | | |
306 | 306 | | |
307 | 307 | | |
| |||
329 | 329 | | |
330 | 330 | | |
331 | 331 | | |
332 | | - | |
| 332 | + | |
333 | 333 | | |
334 | 334 | | |
335 | 335 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
23 | 23 | | |
24 | 24 | | |
25 | 25 | | |
26 | | - | |
| 26 | + | |
27 | 27 | | |
28 | 28 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
28 | 28 | | |
29 | 29 | | |
30 | 30 | | |
31 | | - | |
| 31 | + | |
32 | 32 | | |
33 | 33 | | |
34 | 34 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
69 | 69 | | |
70 | 70 | | |
71 | 71 | | |
72 | | - | |
| 72 | + | |
73 | 73 | | |
74 | 74 | | |
75 | 75 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
301 | 301 | | |
302 | 302 | | |
303 | 303 | | |
304 | | - | |
| 304 | + | |
305 | 305 | | |
306 | 306 | | |
307 | 307 | | |
| |||
330 | 330 | | |
331 | 331 | | |
332 | 332 | | |
333 | | - | |
| 333 | + | |
334 | 334 | | |
335 | 335 | | |
336 | 336 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
259 | 259 | | |
260 | 260 | | |
261 | 261 | | |
262 | | - | |
| 262 | + | |
263 | 263 | | |
264 | 264 | | |
265 | 265 | | |
| |||
284 | 284 | | |
285 | 285 | | |
286 | 286 | | |
287 | | - | |
| 287 | + | |
288 | 288 | | |
289 | 289 | | |
290 | 290 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
119 | 119 | | |
120 | 120 | | |
121 | 121 | | |
122 | | - | |
| 122 | + | |
123 | 123 | | |
124 | 124 | | |
125 | 125 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
265 | 265 | | |
266 | 266 | | |
267 | 267 | | |
268 | | - | |
| 268 | + | |
269 | 269 | | |
270 | 270 | | |
271 | 271 | | |
| |||
0 commit comments