summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorGravatar Joey Hess <joeyh@joeyh.name>2016-07-05 16:34:39 -0400
committerGravatar Joey Hess <joeyh@joeyh.name>2016-07-05 16:34:39 -0400
commitc8256b6cbb8853f0cea09582e98978082cdd3cc8 (patch)
treed3d7d58ec4e676d3681a2196008826cba48b4d63 /doc
parentdc110d9bb3982f6bdf21e95941f3ef8a04d9f5a3 (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')
-rw-r--r--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__.mdwn3
-rw-r--r--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._comment20
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).
+"""]]