diff options
author | 2016-07-05 16:34:39 -0400 | |
---|---|---|
committer | 2016-07-05 16:34:39 -0400 | |
commit | c8256b6cbb8853f0cea09582e98978082cdd3cc8 (patch) | |
tree | d3d7d58ec4e676d3681a2196008826cba48b4d63 /doc | |
parent | dc110d9bb3982f6bdf21e95941f3ef8a04d9f5a3 (diff) |
testremote: Fix crash when testing a freshly made external special remote.
Ignore exceptions when getting the cost and availability for the remote,
and return sane defaults. These defaults are not cached, so if a special
remote program has a transient problem, it will re-query it later.
Diffstat (limited to 'doc')
2 files changed, 23 insertions, 0 deletions
diff --git a/doc/bugs/race_condition_with___39____39__git-annex__58___Cannot_run_git-annex-remote-__33__dne__33___--_Make_sure_it__39__s_in_your_PATH_and_is_executable.__34__.mdwn b/doc/bugs/race_condition_with___39____39__git-annex__58___Cannot_run_git-annex-remote-__33__dne__33___--_Make_sure_it__39__s_in_your_PATH_and_is_executable.__34__.mdwn index 156f75b36..6f91ddbf5 100644 --- a/doc/bugs/race_condition_with___39____39__git-annex__58___Cannot_run_git-annex-remote-__33__dne__33___--_Make_sure_it__39__s_in_your_PATH_and_is_executable.__34__.mdwn +++ b/doc/bugs/race_condition_with___39____39__git-annex__58___Cannot_run_git-annex-remote-__33__dne__33___--_Make_sure_it__39__s_in_your_PATH_and_is_executable.__34__.mdwn @@ -1,3 +1,5 @@ +[[!metatitle="testremote of external special remote fails with 'Cannot run git-annex-remote-!dne!'"]] + ### Please describe the problem. When git-annex has not recently used a remote, there appears to be a race condition where sometimes it will fail with "git-annex: Cannot run git-annex-remote-!dne! -- Make sure it's in your PATH and is executable." @@ -17,3 +19,4 @@ Output: https://gitlab.com/DanielDent/git-annex-remote-rclone/builds/2166902 The 'git-annex copy test --to GA-rclone-CI' line prior to the 'testremote' invocation seems to warm caches and avoids having the bug trigger. +> [[fixed|done]] --[[Joey]] diff --git a/doc/bugs/race_condition_with___39____39__git-annex__58___Cannot_run_git-annex-remote-__33__dne__33___--_Make_sure_it__39__s_in_your_PATH_and_is_executable.__34__/comment_1_2960102ff86d8b0304d6fd8b83e34ba1._comment b/doc/bugs/race_condition_with___39____39__git-annex__58___Cannot_run_git-annex-remote-__33__dne__33___--_Make_sure_it__39__s_in_your_PATH_and_is_executable.__34__/comment_1_2960102ff86d8b0304d6fd8b83e34ba1._comment new file mode 100644 index 000000000..8b714e851 --- /dev/null +++ b/doc/bugs/race_condition_with___39____39__git-annex__58___Cannot_run_git-annex-remote-__33__dne__33___--_Make_sure_it__39__s_in_your_PATH_and_is_executable.__34__/comment_1_2960102ff86d8b0304d6fd8b83e34ba1._comment @@ -0,0 +1,20 @@ +[[!comment format=mdwn + username="joey" + subject="""comment 1""" + date="2016-07-05T19:58:41Z" + content=""" +AFAICS this can only affect `git annex testremote` and not other commands; +to test behavior when the remote is not accessible, it uses +mkUnavailable which substitutes "!dne!" for various values. + +In the case of an external special remote, this causes it to run +git-annex-remote-!dne! which is intentially not in the PATH. So, +testremote is testing the behavior when the external special remote +program is missing. + +The bug is that in the remote warmup process it tries to run +git-annex-remote-!dne! in order to query it for GETCOST, and this fails. + +It's not a race condition; it just fails the first time, and works +the second time (since it has gotten the cost cached then). +"""]] |