git-annex/doc/bugs/remotes_disappeared.mdwn

301 lines
17 KiB
Text
Raw Normal View History

2016-03-30 18:02:25 +00:00
### Please describe the problem.
Some remotes disappeared from `git annex info` after synchronising with a new repo.
### What steps will reproduce the problem?
1. have a nice repository full of remotes and special remotes
2. create a new repository with `git init; git annex init; git reinit <some UUID from a previously lost repository>`
3. sync the two repositories
Expected the result: restore the lost repository the its previous state.
Actual result: previous state available, but lost track of other repositories.
I suspect there may be a relation to an old "forget history" transition at play here, as the last commit on the git-annex branch is:
```
commit 266099a48af81eab71d27741b43776372aa519c4
Merge: 13ed0a6 05681b9
Author: Antoine Beaupré <anarcat@debian.org>
Date: Wed Mar 30 12:49:55 2016 -0400
continuing transition ["forget git history","forget dead remotes","forget git history","forget dead remotes","forget git history","forget git history","forget dead remotes","forget git history","forget dead remotes","forget git history","forget dead remotes","forget git history","forget dead remotes"]
```
So in short, some remotes that i never marked as dead seem to be caught in the whirlpool of `forget` transitions.
### What version of git-annex are you using? On what operating system?
5.20151208-1~bpo8+1 on debian jessie.
### Please provide any additional information below.
So here's what i could salvage from my terminal history. Note that window resizing may have truncated some lines. Apologies for the mess...
[1077]anarcat@angela:cb39412b-d221-4846-a9dd-cdbabd9958f1$ sudo mkdir Music
[1078]anarcat@angela:cb39412b-d221-4846-a9dd-cdbabd9958f1$ sudo chown anarcat Music
[1079]anarcat@angela:cb39412b-d221-4846-a9dd-cdbabd9958f1$ cd Music/
[1082]anarcat@angela:Music$ git init
Dépôt Git vide initialisé dans /media/anarcat/cb39412b-d221-4846-a9dd-cdbabd9958f1/Music/.gi
[1083]anarcat@angela:Music$ git annex init
init ok
(recording state in git...)
[1084]anarcat@angela:Music130$ git annex reinit 6f812272-18c8-4346-b68a-f57ae50f657e
reinit 6f812272-18c8-4346-b68a-f57ae50f657e ok
[1086]anarcat@angela:Music$ git remote add origin ~/mp3
[1087]anarcat@angela:Music$ git remote update # 12:44
Récupération de origin
warning: no common commits
remote: Décompte des objets: 819312, fait.
remote: Compression des objets: 100% (368189/368189), fait.
Réception d'objets: 100% (819312/819312), 64.97 MiB | 5.19 MiB/s, fait.
remote: Total 819312 (delta 653024), reused 588679 (delta 449859)
Depuis /home/anarcat/mp3
* [nouvelle branche] git-annex -> origin/git-annex
* [nouvelle branche] master -> origin/master
* [nouvelle branche] synced/git-annex -> origin/synced/git-annex
* [nouvelle branche] synced/master -> origin/synced/master
* [nouvelle étiquette] bak -> bak
[1089]anarcat@angela:Music$ git annex merge
merge git-annex (merging origin/git-annex origin/synced/git-annex into git-annex...)
(recording state in git...)
[1092]anarcat@angela:Music$ git co master
Extraction des fichiers: 100% (22187/22187), fait.
La branche master est paramétrée pour suivre la branche distante master depuis origin.
Déjà sur 'master'
[1099]anarcat@angela:Music130$ date; time git annex get --quiet --in here; date
mercredi 30 mars 2016, 12:53:29 (UTC-0400)
sha256sum: .git/annex/tmp/SHA256E-s4476433--bb954dfe81f3d0906a18e53d02040d1d8f8e78917552e0033b056bbf885710d9.mp3: Aucun fichier ou dossier de ce type
sha256sum failed
git-annex: .git/annex/tmp/SHA256E-s4476433--bb954dfe81f3d0906a18e53d02040d1d8f8e78917552e0033b056bbf885710d9.mp3: openBinaryFile: does not exist (No such file or directory)
git-annex: get: 1 failed
Command exited with non-zero status 1
156.09user 39.26system 36:44.62elapsed 8%CPU (0avgtext+0avgdata 44900maxresident)k
8775224inputs+5811728outputs (51major+281689minor)pagefaults 0swaps
mercredi 30 mars 2016, 13:30:36 (UTC-0400)
... in the last step, the external device disappeared and the transfer failed.
After reconnecting the device, I tried to synchronise its content with the content of another device, but that device is gone!
[[!format sh """
[1013]anarcat@angela:Music1$ git annex info --fast # first notice how the remotes are not the same on the two repositories
repository mode: indirect
trusted repositories: 0
semitrusted repositories: 5
00000000-0000-0000-0000-000000000001 -- web
00000000-0000-0000-0000-000000000002 -- bittorrent
0f9185ea-8462-4230-8cae-462a1ad0df36 -- origin
45124790-dbb7-4e2e-bc0a-acfb618a01e0 -- anarcat@angela:/media/anarcat/cb39412b-d221-4846-a9dd-cdbabd9958f1/Music
6f812272-18c8-4346-b68a-f57ae50f657e -- here
untrusted repositories: 0
transfers in progress: none
available local disk space: 4.68 gigabytes (+1 megabyte reserved)
[1014]anarcat@angela:Music$ cd ~/mp3
[1015]anarcat@angela:mp3$ git annex info --fast # here there is a lot more remotes!
repository mode: indirect
trusted repositories: 4
22921df6-ff75-491c-b5d9-5a2aab33a689 -- anarcat@marcos:/media/anarcat/79884590-6445-4a6f-ae12-050b9a7c1912/mp3
b7802161-c984-4c9f-8d05-787a29c41cfe -- anarcat@marcos:/srv/mp3 [marcos]
c2ca4a13-9a5f-461b-a44b-53255ed3e2f9 -- anarcat@desktop008:/srv/musique/anarcat/mp3 [markov]
f8818d12-9882-4ca5-bc0f-04e987888a8d -- anarcat@marcos:/media/anarcat/green_crypt/mp3/
semitrusted repositories: 8
00000000-0000-0000-0000-000000000001 -- web
00000000-0000-0000-0000-000000000002 -- bittorrent
0f9185ea-8462-4230-8cae-462a1ad0df36 -- anarcat@angela:~/mp3 [here]
3f6d8082-6f4b-4faa-a3d9-bd5db1891077 -- anarcat@lab-sc.no-ip.org:mp3
4249a4ea-343a-43a8-9bba-457d2ff87c7d -- rachel@topcrapn:~/Musique/MUSIC/anarcat
487dda55-d164-4bf1-9d85-66caaa9c0743 -- 300GB hard drive labeled VHS [VHS]
6f812272-18c8-4346-b68a-f57ae50f657e -- htcones
f867da6f-78cb-49be-a0db-d1c8e5f53664 -- n900
untrusted repositories: 0
transfers in progress: none
available local disk space: 13.51 gigabytes (+1 megabyte reserved)
[1016]anarcat@angela:mp3$ cd -
/media/anarcat/cb39412b-d221-4846-a9dd-cdbabd9958f1/Music
[1017]anarcat@angela:Music$ git annex find --in f867da6f-78cb-49be-a0db-d1c8e5f53664 --not --in here # trying to sync with the n900 remote
git-annex: there is no available git remote named "f867da6f-78cb-49be-a0db-d1c8e5f53664"
[1018]anarcat@angela:Music1$ git annex sync # maybe some data is missing?
commit ok
pull origin
ok
push origin
Décompte des objets: 6368, fait.
Delta compression using up to 2 threads.
Compression des objets: 100% (6361/6361), fait.
Écriture des objets: 100% (6368/6368), 693.21 KiB | 565.00 KiB/s, fait.
Total 6368 (delta 5030), reused 11 (delta 3)
To /home/anarcat/mp3
05681b9..266099a git-annex -> synced/git-annex
ok
[1019]anarcat@angela:Music$ git annex find --in f867da6f-78cb-49be-a0db-d1c8e5f53664 --not --in here # trying again
git-annex: there is no available git remote named "f867da6f-78cb-49be-a0db-d1c8e5f53664"
[1020]anarcat@angela:Music1$ git annex find --in n900 --not --in here # of course, n900 is not a git remote locally
git-annex: there is no available git remote named "n900"
[1021]anarcat@angela:Music1$ git annex info --fast # and it's still not there
repository mode: indirect
trusted repositories: 0
semitrusted repositories: 5
00000000-0000-0000-0000-000000000001 -- web
00000000-0000-0000-0000-000000000002 -- bittorrent
0f9185ea-8462-4230-8cae-462a1ad0df36 -- origin
45124790-dbb7-4e2e-bc0a-acfb618a01e0 -- anarcat@angela:/media/anarcat/cb39412b-d221-
6f812272-18c8-4346-b68a-f57ae50f657e -- here
untrusted repositories: 0
transfers in progress: none
available local disk space: 4.68 gigabytes (+1 megabyte reserved)
[1022]anarcat@angela:Music$ cd -
/home/anarcat/mp3
[1023]anarcat@angela:mp3$ git annex info --fast # worse: it's gone from my main repo!!
repository mode: indirect
trusted repositories: 2
b7802161-c984-4c9f-8d05-787a29c41cfe -- marcos
c2ca4a13-9a5f-461b-a44b-53255ed3e2f9 -- markov
semitrusted repositories: 6
00000000-0000-0000-0000-000000000001 -- web
00000000-0000-0000-0000-000000000002 -- bittorrent
0f9185ea-8462-4230-8cae-462a1ad0df36 -- here
45124790-dbb7-4e2e-bc0a-acfb618a01e0 -- anarcat@angela:/media/anarcat/cb39412b-d221-4846-a9dd-cdbabd9958f1/Music
487dda55-d164-4bf1-9d85-66caaa9c0743 -- VHS
6f812272-18c8-4346-b68a-f57ae50f657e -- htcones
untrusted repositories: 0
transfers in progress: none
available local disk space: 13.74 gigabytes (+1 megabyte rese
"""]]
In my opinion, git-annex shouldn't have lost the following repositories:
22921df6-ff75-491c-b5d9-5a2aab33a689 -- anarcat@marcos:/media/anarcat/79884590-6445-4a6f-ae12-050b9a7c1912/mp3
f8818d12-9882-4ca5-bc0f-04e987888a8d -- anarcat@marcos:/media/anarcat/green_crypt/mp3/
3f6d8082-6f4b-4faa-a3d9-bd5db1891077 -- anarcat@lab-sc.no-ip.org:mp3
4249a4ea-343a-43a8-9bba-457d2ff87c7d -- rachel@topcrapn:~/Musique/MUSIC/anarcat
f867da6f-78cb-49be-a0db-d1c8e5f53664 -- n900
Those are repositories that are in the git-annex history, but that don't have git remotes associated with them, for various reasons. I do *not* believe I have marked any of those as "dead" except maybe 3f6d8082-6f4b-4faa-a3d9-bd5db1891077. f8818d12-9882-4ca5-bc0f-04e987888a8d was used during the weekend to do my backups, so it's definitely not dead.
It is also interesting to note that even though `git annex info` doesn't know about the remotes, there is still tracking information about all of them (except the 3f one):
[[!format txt """
$ git cat-file -p git-annex:001/694/SHA256E-s6732474--e084001bc23a90bfd65d9a3fa20b7bf878be6a49fce7e5a9846efeeba8815516.mp3.log
1376877225.866849s 1 b7802161-c984-4c9f-8d05-787a29c41cfe
1378838314.653241s 1 c2ca4a13-9a5f-461b-a44b-53255ed3e2f9
1379790798.215871s 1 0f9185ea-8462-4230-8cae-462a1ad0df36
1391065040.28672s 1 22921df6-ff75-491c-b5d9-5a2aab33a689
1397893686.079999s 1 487dda55-d164-4bf1-9d85-66caaa9c0743
1398657510.376249s 1 4249a4ea-343a-43a8-9bba-457d2ff87c7d
1407479149.838437s 1 f8818d12-9882-4ca5-bc0f-04e987888a8d
1407479149.929843s 1 f8818d12-9882-4ca5-bc0f-04e987888a8d
1407510928.457047s 1 487dda55-d164-4bf1-9d85-66caaa9c0743
1424134721.290026s 1 b7802161-c984-4c9f-8d05-787a29c41cfe
1424227570.153123s 1 487dda55-d164-4bf1-9d85-66caaa9c0743
1445468844.056214s 1 f867da6f-78cb-49be-a0db-d1c8e5f53664
1458775384.454193s 0 6f812272-18c8-4346-b68a-f57ae50f657e
"""]]
2016-03-30 18:11:30 +00:00
it's a mystery to me why that stuff disappeared from `git-annex info`. it's especially confusing since some commands seem to recognize there *was* a remote there:
$ git annex enableremote f867da6f-78cb-49be-a0db-d1c8e5f53664
git-annex: Unknown special remote.
f867da6f-78cb-49be-a0db-d1c8e5f53664 -- n900
Notice how `n900` was shown here: that metadata obviously *is* somewhere! The uuid.log file is obviously damaged:
[1036]anarcat@angela:mp31$ git cat-file -p git-annex:uuid.log
45124790-dbb7-4e2e-bc0a-acfb618a01e0 anarcat@angela:/media/anarcat/cb39412b-d221-4846-a9dd-cdbabd9958f1/Music timestamp=1459356223.537195s
... and it clearly looks like the file was damaged on that new repo:
[[!format txt """
* 266099a N (synced/git-annex, git-annex) continuing transition ["forget git history","forget dead remotes","forget git history","forget dead remotes","forget git history","forget git history","forget dead remotes","forget git history","forget dead remotes","forget git history","forget dead remotes","forget git history","forget dead remotes"] (il y a 75 minutes) <Antoine Beaupré>
|\
* | 298cc10 N (htcones/synced/git-annex) continuing transition ["forget git history","forget dead remotes","forget git history","forget dead remotes","forget git history","forget git history","forget dead remotes","forget git history","forget dead remotes","forget git history","forget dead remotes","forget git history","forget dead remotes"] (il y a 13 jours) <Antoine Beaupré>| |
| | diff --git a/uuid.log b/uuid.log
| | index 656b369..a730ad0 100644
| | --- a/uuid.log
| | +++ b/uuid.log
| | @@ -1,14 +1,9 @@
| | 0f9185ea-8462-4230-8cae-462a1ad0df36 anarcat@angela:~/mp3 timestamp=1376882226.164478s
| | 22921df6-ff75-491c-b5d9-5a2aab33a689 anarcat@marcos:/media/anarcat/79884590-6445-4a6f-ae12-050b9a7c1912/mp3 timestamp=1397741440.125973s
| | -2fec390f-f21b-4293-be50-f219be10ea02 anarcat@marcos:/media/anarcat/Nokia N900/.sounds/mp3-test timestamp=1444709804.587901s
| | 3f6d8082-6f4b-4faa-a3d9-bd5db1891077 anarcat@lab-sc.no-ip.org:mp3 timestamp=1397882243.602438s
| | -3f6d8082-6f4b-4faa-a3d9-bd5db1891077 anarcat@serveur-maison:~/mp3 timestamp=1397870776.162703s
| | 4249a4ea-343a-43a8-9bba-457d2ff87c7d rachel@topcrapn:~/Musique/MUSIC/anarcat timestamp=1398631775.545666s
| | 487dda55-d164-4bf1-9d85-66caaa9c0743 300GB hard drive labeled VHS timestamp=1397880144.616515s
| | -509d1cd7-ecd1-4e2f-803d-575d9c56a5bc anarcat@angela:/media/anarcat/Nokia N900/.sounds/mp3 timestamp=1444483581.960103s
| | b7802161-c984-4c9f-8d05-787a29c41cfe anarcat@marcos:/srv/mp3 timestamp=1376874943.951103s
| | c2ca4a13-9a5f-461b-a44b-53255ed3e2f9 anarcat@desktop008:/srv/musique/anarcat/mp3 timestamp=1410989161.237514s
| | -c2ca4a13-9a5f-461b-a44b-53255ed3e2f9 anarcat@desktop008:/srv/musique/anarcat/musique/mp3 timestamp=1384884883.106166s
| | -f641e18f-7cb1-49ba-abe1-7544b435b67f anarcat@marcos:/media/anarcat/Nokia N900/.sounds/mp3-init timestamp=1444708760.468268s
| | f867da6f-78cb-49be-a0db-d1c8e5f53664 n900 timestamp=1445438785.796624s
| | f8818d12-9882-4ca5-bc0f-04e987888a8d anarcat@marcos:/media/anarcat/green_crypt/mp3/ timestamp=1407470841.967597s
"""]]
So i guess i could manually edit that uuid.log file to restore my metadata, but i'm puzzled as to where my data went or how!
2016-03-30 18:02:25 +00:00
2016-03-30 18:19:17 +00:00
### Workaround
The workaround is to, of course, restore a known sane `uuid.log`:
[[!format sh """
[1048]anarcat@angela:~128$ git clone -b git-annex mp3 mp3.annex
Clonage dans 'mp3.annex'...
fait.
Extraction des fichiers: 100% (32234/32234), fait.
[1049]anarcat@angela:~$ cd mp3.annex/
[1067]anarcat@angela:mp3.annex$ git co dfe1b77 uuid.log
[1068]anarcat@angela:mp3.annex$ git status
Sur la branche git-annex
Votre branche est à jour avec 'origin/git-annex'.
Modifications qui seront validées :
(utilisez "git reset HEAD <fichier>..." pour désindexer)
modifié : uuid.log
[1069]anarcat@angela:mp3.annex$ git commit -m"restore broken uuid.log"
[git-annex 9628f3b] restore broken uuid.log
1 file changed, 14 insertions(+), 1 deletion(-)
rewrite uuid.log (100%)
[1070]anarcat@angela:mp3.annex$ git push
Décompte des objets: 2, fait.
Delta compression using up to 2 threads.
Compression des objets: 100% (2/2), fait.
Écriture des objets: 100% (2/2), 262 bytes | 0 bytes/s, fait.
Total 2 (delta 1), reused 0 (delta 0)
To /home/anarcat/mp3
266099a..9628f3b git-annex -> git-annex
[1071]anarcat@angela:mp3.annex$ cd -
/home/anarcat
[1072]anarcat@angela:~$ git ^C
[1072]anarcat@angela:~130$ cd -
/home/anarcat/mp3.annex
[1072]anarcat@angela:mp3.annex$ cd ../mp3
[1073]anarcat@angela:mp3$ git annex merge
merge git-annex ok
[1074]anarcat@angela:mp3$ git annex info --fast
repository mode: indirect
trusted repositories: 4
22921df6-ff75-491c-b5d9-5a2aab33a689 -- anarcat@marcos:/media/anarcat/79884590-6445-4a6f-ae12-050b9a7c1912/mp3
b7802161-c984-4c9f-8d05-787a29c41cfe -- anarcat@marcos:/srv/mp3 [marcos]
c2ca4a13-9a5f-461b-a44b-53255ed3e2f9 -- anarcat@desktop008:/srv/musique/anarcat/mp3 [markov]
f8818d12-9882-4ca5-bc0f-04e987888a8d -- anarcat@marcos:/media/anarcat/green_crypt/mp3/
semitrusted repositories: 8
00000000-0000-0000-0000-000000000001 -- web
00000000-0000-0000-0000-000000000002 -- bittorrent
0f9185ea-8462-4230-8cae-462a1ad0df36 -- anarcat@angela:~/mp3 [here]
3f6d8082-6f4b-4faa-a3d9-bd5db1891077 -- anarcat@lab-sc.no-ip.org:mp3
4249a4ea-343a-43a8-9bba-457d2ff87c7d -- rachel@topcrapn:~/Musique/MUSIC/anarcat
487dda55-d164-4bf1-9d85-66caaa9c0743 -- 300GB hard drive labeled VHS [VHS]
6f812272-18c8-4346-b68a-f57ae50f657e -- htcones
f867da6f-78cb-49be-a0db-d1c8e5f53664 -- n900
untrusted repositories: 0
transfers in progress: none
available local disk space: 13.44 gigabytes (+1 megabyte reserved)
"""]]
But it seems to me there is a weird interaction between transitions and fresh new git repo syncs... that could be fixed...
2016-03-30 18:02:25 +00:00
### Have you had any luck using git-annex before? (Sometimes we get tired of reading bug reports all day and a lil' positive end note does wonders)
Yes! Git-annex works generally well and, even though i often report bugs here, i am still quite happy with it. :) --[[anarcat]]