From 9e6e53af7162fe24bcb6b31eb881cd9f0f93d1d5 Mon Sep 17 00:00:00 2001 From: yarikoptic Date: Mon, 28 Feb 2022 20:50:06 +0000 Subject: [PATCH] initial report on a very slow git annex test on discovery --- ...ndalone_build__34___and__47__or_tests.mdwn | 39 +++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 doc/todo/speed_up___34__standalone_build__34___and__47__or_tests.mdwn diff --git a/doc/todo/speed_up___34__standalone_build__34___and__47__or_tests.mdwn b/doc/todo/speed_up___34__standalone_build__34___and__47__or_tests.mdwn new file mode 100644 index 0000000000..dda3661390 --- /dev/null +++ b/doc/todo/speed_up___34__standalone_build__34___and__47__or_tests.mdwn @@ -0,0 +1,39 @@ +As part of the [datalad/git-annex](https://github.com/datalad/git-annex) builds setup there is work to enable testing on some target deployments, but there is problem (see [git-annex/pull/102#issuecomment-1054561966](https://github.com/datalad/git-annex/pull/102#issuecomment-1054561966)) that overall sweep of `git annex test` of the standalone build on a target system takes over 5,000 seconds (over an hour!). + +Clearly that system is "unique" in its "performance" (most likely due to nfs4'ed filesystem tests go under, not due to "Standalone" but I can't change the issue title at this moment) and here is the timing spread we see from other runs on CI: + +```shell +(git)smaug:/mnt/datasets/datalad/ci/git-annex/builds/2022/02[master]git +$> git grep 'All 9.. tests passed (' | sort -t '(' -n -k 3 | head -n 5 +cron-20220222/build-ubuntu.yaml-586-85dd9355-failed/1_test-annex (normal, ubuntu-latest).txt:2022-02-22T02:57:08.4002055Z All 994 tests passed (239.44s) +cron-20220222/build-ubuntu.yaml-586-85dd9355-failed/test-annex (normal, ubuntu-latest)/7_Run tests.txt:2022-02-22T02:57:08.4002052Z All 994 tests passed (239.44s) +pr-102/build-ubuntu.yaml-600-12c9bb39-failed/1_test-annex (normal, ubuntu-latest).txt:2022-02-25T18:47:54.5577129Z All 994 tests passed (240.31s) +pr-102/build-ubuntu.yaml-600-12c9bb39-failed/test-annex (normal, ubuntu-latest)/7_Run tests.txt:2022-02-25T18:47:54.5577125Z All 994 tests passed (240.31s) +cron-20220225/build-ubuntu.yaml-595-85dd9355-failed/1_test-annex (normal, ubuntu-latest).txt:2022-02-25T03:01:16.8138190Z All 994 tests passed (240.87s) + +$> git grep 'All 9.. tests passed (' | sort -t '(' -n -k 3 | tail -n 5 +cron-20220227/build-macos.yaml-604-85dd9355-failed/test-annex (normal, macos-latest)/8_Run tests.txt:2022-02-27T02:32:31.2444240Z All 994 tests passed (1284.60s) +cron-20220203/build-macos.yaml-578-85dd9355-success/3_test-annex (normal, macos-latest).txt:2022-02-03T02:27:38.5945050Z All 991 tests passed (1292.09s) +cron-20220203/build-macos.yaml-578-85dd9355-success/test-annex (normal, macos-latest)/8_Run tests.txt:2022-02-03T02:27:38.5945040Z All 991 tests passed (1292.09s) +manual-20220222/build-macos.yaml-599-85dd9355-failed/3_test-annex (normal, macos-latest).txt:2022-02-22T18:44:42.5220730Z All 994 tests passed (1340.62s) +manual-20220222/build-macos.yaml-599-85dd9355-failed/test-annex (normal, macos-latest)/8_Run tests.txt:2022-02-22T18:44:42.5220720Z All 994 tests passed (1340.62s) +``` + +so we have runs as short as 4 minutes (`cron-20220222/build-ubuntu.yaml-586-85dd9355-failed`) and as "long" as 20 minutes (`manual-20220222/build-macos.yaml-599-85dd9355-failed`) . + +but at >5k seconds it made me wonder if worth looking into making operation on such system a bit more "snappy". FWIW, here are the slowest tests: + +``` +[d31548v@discovery7 git-annex]$ grep 's)' tests.out | sort -t '(' -n -k 2 | tail -n 10 + conflict resolution: OK (55.24s) + adjusted branch merge regression: OK (56.63s) + conflict resolution movein regression: OK (60.02s) + transition propagation: OK (60.61s) +OK (61.00s) +OK (70.30s) +OK (78.37s) + union merge regression: OK (91.15s) + transition propagation: OK (97.68s) +All 994 tests passed (5576.99s) + +```