Overview
Comment: | Fix random issue with directory creation when parallel startup causes collisions |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | v1.80 |
Files: | files | file ages | folders |
SHA1: |
07ee6da7ba0a4ba2b80017ab6f94970a |
User & Date: | matt on 2023-04-12 06:59:14 |
Other Links: | branch diff | manifest | tags |
Context
2023-04-12
| ||
08:47 | Limit backoff delay, check that param is a condition check-in: ff60788828 user: matt tags: v1.80 | |
06:59 | Fix random issue with directory creation when parallel startup causes collisions check-in: 07ee6da7ba user: matt tags: v1.80 | |
06:38 | Refactored to move most of the work to scan and recover dead tests out of the servers. This commit also fixes dependencies in the Makefile. check-in: c75b58ded7 user: matt tags: v1.80 | |
Changes
Modified launch.scm from [73ea6dbf9b] to [529c736da5].
︙ | ︙ | |||
1376 1377 1378 1379 1380 1381 1382 | ;; (rmt:general-call 'test-set-rundir run-id lnkpath testname "") ;; toptest-path) (if (or (not curr-test-path) (not (directory-exists? toptest-path))) (begin (debug:print-info 2 *default-log-port* "Creating " toptest-path " and link " lnkpath) (handle-exceptions exn | > > | | | > > | | | | | 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 | ;; (rmt:general-call 'test-set-rundir run-id lnkpath testname "") ;; toptest-path) (if (or (not curr-test-path) (not (directory-exists? toptest-path))) (begin (debug:print-info 2 *default-log-port* "Creating " toptest-path " and link " lnkpath) (handle-exceptions exn (if (directory-exists? toptest-path) ;; it was likely created in parallel #t (begin (debug:print-info 0 *default-log-port* "failed to create directory " toptest-path ", exn=" exn) #f)) (create-directory toptest-path #t)) (hash-table-set! *toptest-paths* testname toptest-path))))) ;; The toptest path has been created, the link to the test in the linktree has ;; been created. Now, if this is an iterated test the real test dir must be created (if (not not-iterated) ;; this is an iterated test (begin ;; (let ((lnktarget (conc lnkpath "/" item-path))) (debug:print 2 *default-log-port* "Setting up sub test run area") (debug:print 2 *default-log-port* " - creating run area in " test-path) (handle-exceptions exn (if (directory-exists? test-path) #t (begin (debug:print-error 0 *default-log-port* " Failed to create directory " test-path ((condition-property-accessor 'exn 'message) exn) ", exiting, exn=" exn) (exit 1))) (create-directory test-path #t)) (debug:print 2 *default-log-port* " - creating link from: " test-path "\n" " to: " lnktarget) ;; If there is already a symlink delete it and recreate it. (handle-exceptions |
︙ | ︙ |