Commit graph

24840 commits

Author SHA1 Message Date
andrew
2429763490 Added a comment 2018-11-12 03:17:48 +00:00
andrew
d20872e250 removed 2018-11-12 02:37:45 +00:00
andrew
cf8eaab7e0 Added a comment 2018-11-11 23:30:23 +00:00
andrew
f18cbb59f6 removed 2018-11-11 23:29:56 +00:00
andrew
daaf819cbb Added a comment 2018-11-11 23:28:22 +00:00
andrew
22438c42dd Added a comment 2018-11-11 23:20:26 +00:00
andrew
17983fcb3d Added a comment 2018-11-11 23:13:29 +00:00
andrew
8853f6b13c 2018-11-11 21:39:56 +00:00
andrew
87efebb590 Added a comment 2018-11-11 21:35:26 +00:00
andrew
97453224ed 2018-11-11 21:33:37 +00:00
Joey Hess
d733da87f6
Merge branch 'master' of ssh://git-annex.branchable.com 2018-11-10 12:38:27 -04:00
Joey Hess
77ea81f945
comment 2018-11-10 12:34:29 -04:00
spwhitton
b3444547a5 Added a comment 2018-11-09 21:07:32 +00:00
Joey Hess
5a25069dfd
comment 2018-11-09 13:10:00 -04:00
Joey Hess
f78f97780c
Fix build with persistent-sqlite older than 2.6.3.
This commit was sponsored by Jack Hill on Patreon.
2018-11-09 13:09:02 -04:00
Joey Hess
4623a037f5
Merge remote-tracking branch 'origin/master' 2018-11-09 13:04:14 -04:00
Joey Hess
0d1b42ef78
update 2018-11-08 15:43:02 -04:00
Joey Hess
82aad90d33
update roadmap 2018-11-08 15:42:53 -04:00
yarikoptic
b1a5ea5f53 original double complain on get -J 2018-11-08 18:05:56 +00:00
Joey Hess
0f5e5703e5
update 2018-11-08 11:46:23 -04:00
andrew
758c2b731f Added a comment 2018-11-08 13:10:23 +00:00
andrew
5afd6d105a Added a comment 2018-11-08 13:06:56 +00:00
seantparsons
352f88226f Added a comment 2018-11-06 22:50:25 +00:00
yarikoptic
60cf067d79 Added a comment 2018-11-06 22:16:39 +00:00
yarikoptic
1011d957aa Added a comment 2018-11-06 20:01:08 +00:00
Joey Hess
6ecd55a9fa
Fixed some other potential hangs in the P2P protocol
Finishes the start made in 983c9d5a53, by
handling the case where `transfer` fails for some other reason, and so the
ReadContent callback does not get run. I don't know of a case where
`transfer` does fail other than the locking dealt with in that commit, but
it's good to have a guarantee.

StoreContent and StoreContentTo had a similar problem.
Things like `getViaTmp` may decide not to run the transfer action.
And `transfer` could certianly fail, if another transfer of the same
object was in progress. (Or a different object when annex.pidlock is set.)

If the transfer action was not run, the content of the object would
not all get consumed, and so would get interpreted as protocol commands,
which would not go well.

My approach to fixing all of these things is to set a TVar only
once all the data in the transfer is known to have been read/written.
This way the internals of `transfer`, `getViaTmp` etc don't matter.

So in ReadContent, it checks if the transfer completed.
If not, as long as it didn't throw an exception, send empty and Invalid
data to the callback. On an exception the state of the protocol is unknown
so it has to raise ProtoFailureException and close the connection,
same as before.

In StoreContent, if the transfer did not complete
some portion of the DATA has been read, so the protocol is in an unknown
state and it has to close the conection as well.

(The ProtoFailureMessage used here matches the one in Annex.Transfer, which
is the most likely reason. Not ideal to duplicate it..)

StoreContent did not ever close the protocol connection before. So this is
a protocol change, but only in an exceptional circumstance, and it's not
going to break anything, because clients already need to deal with the
connection breaking at any point.

The way this new behavior looks (here origin has annex.pidlock = true so will
only accept one upload to it at a time):

git annex copy --to origin -J2
copy x (to origin...) ok
copy y (to origin...)
  Lost connection (fd:25: hGetChar: end of file)

This work is supported by the NIH-funded NICEMAN (ReproNim TR&D3) project.
2018-11-06 14:52:32 -04:00
Joey Hess
9adc0b3417
Merge branch 'master' of ssh://git-annex.branchable.com 2018-11-06 13:01:00 -04:00
Joey Hess
983c9d5a53
git-annex-shell: fix transfer hang
Fix hang when transferring the same objects to two different clients at the
same time. (Or when annex.pidlock is used, two different objects to the
same or different clients.)

Could also potentially occur if a client was downloading an object and
somehow lost connection but that git-annex-shell was still running and
holding the transfer lock.

This does not guarantee that, if `transfer` fails for some other reason,
a DATA response will be made.

This work is supported by the NIH-funded NICEMAN (ReproNim TR&D3) project.
2018-11-06 13:00:37 -04:00
metst13@1d16544ec52801db7efb2895d3dc7a4458b8eb45
7bca7542d6 Added a comment 2018-11-06 16:10:11 +00:00
metst13@1d16544ec52801db7efb2895d3dc7a4458b8eb45
1803ba1bcc Added a comment: clone to the server 2018-11-06 14:58:39 +00:00
yarikoptic
68adc08502 initial report on failing to get a file after it actually got to tmp/ fully 2018-11-06 03:43:40 +00:00
Joey Hess
0a0242224d
full analysis 2018-11-05 18:25:55 -04:00
Joey Hess
44769d9285
Merge branch 'master' of ssh://git-annex.branchable.com 2018-11-05 17:13:16 -04:00
Joey Hess
14075afbd7
updated analysis 2018-11-05 17:12:19 -04:00
yarikoptic
0f0a6336cd Added a comment 2018-11-05 21:01:35 +00:00
yarikoptic
2003b42efb Added a comment 2018-11-05 20:53:48 +00:00
spwhitton
4bb1a6060f report failure to build against stretch 2018-11-05 20:20:30 +00:00
Joey Hess
c31ea81ee9
pidlock 2018-11-05 15:37:46 -04:00
Joey Hess
bb14843e72
update thanks, listing code and other significant non-financial contributors 2018-11-05 15:07:14 -04:00
Joey Hess
3c50fa130c
Merge branch 'master' of ssh://git-annex.branchable.com 2018-11-05 14:39:18 -04:00
Joey Hess
3ef13f128f
followup on bug triage 2018-11-05 14:38:32 -04:00
Joey Hess
fd128e5a3f
code review and response 2018-11-05 14:28:02 -04:00
marvin@3296bf3c446430c3b2ebc32b5c784ee976620847
4d11214908 Added a comment 2018-11-05 18:22:49 +00:00
marvin@3296bf3c446430c3b2ebc32b5c784ee976620847
296c984c66 Added a comment 2018-11-05 18:21:54 +00:00
Joey Hess
d87ebf82a8
add news item for git-annex 7.20181105 2018-11-05 13:33:59 -04:00
yarikoptic
aabfdca800 Added a comment 2018-11-05 17:31:46 +00:00
Joey Hess
5f213d45b1
Merge branch 'master' of ssh://git-annex.branchable.com 2018-11-05 12:34:54 -04:00
Joey Hess
0cb6d14383
followup 2018-11-05 12:34:27 -04:00
yarikoptic
13f9e79df1 removed 2018-11-05 16:03:47 +00:00
anarcat
6d954cc132 upload to the test collection, giving users an idea of how to change collections as well as forcing people to think before they upload 2018-11-05 16:02:23 +00:00
yarikoptic
02c74a0dfd Added a comment 2018-11-05 16:00:53 +00:00
yarikoptic
eb218d4e59 Added a comment 2018-11-05 15:57:17 +00:00
Joey Hess
42f1ea72de
followup 2018-11-05 11:47:58 -04:00
Joey Hess
cb69b77625
fix link 2018-11-05 11:39:04 -04:00
Joey Hess
11a37386df
Merge branch 'master' of ssh://git-annex.branchable.com 2018-11-05 11:37:39 -04:00
seantparsons
8570c07d49 2018-11-04 20:59:39 +00:00
anarcat
cb122b9d1e Added a comment: rsync can do this on its own 2018-11-04 19:29:19 +00:00
Joey Hess
7f15339162
update 2018-11-04 15:06:06 -04:00
anarcat
d621846ab8 Added a comment: workaround with youtube-dl 2018-11-03 20:52:49 +00:00
anarcat
16cbeb6aff Added a comment: oops 2018-11-03 19:52:48 +00:00
spwhitton
f09f846fea Added a comment 2018-11-03 19:41:32 +00:00
anarcat
4241de01c8 p2pstdio doesn't exist in stretch and buster doesn't degrade gracefully 2018-11-03 19:30:29 +00:00
admin
55fca72138 removed 2018-11-03 05:24:04 +00:00
andrew
0dc9e68cdb Added a comment 2018-11-02 22:03:15 +00:00
yarikoptic
c6cb372a9d Added a comment: tests fail - can't build to test the change 2018-11-02 21:51:16 +00:00
yarikoptic
4d24b712b0 Added a comment 2018-11-02 19:58:06 +00:00
Joey Hess
0c05b92b7c
Merge branch 'master' of ssh://git-annex.branchable.com 2018-11-02 13:45:57 -04:00
Joey Hess
c371a8b10e
followup 2018-11-02 13:42:57 -04:00
marvin@3296bf3c446430c3b2ebc32b5c784ee976620847
39bff661b0 Added a comment 2018-11-02 08:57:40 +00:00
Ilya_Shlyakhter
a68d4705b1 Added a comment 2018-11-01 17:13:00 +00:00
andrew
e6f90c1f87 Added a comment 2018-11-01 12:24:10 +00:00
andrew
af385e2d34 Added a comment 2018-11-01 12:15:35 +00:00
andrew
937d9d545a Added a comment 2018-11-01 12:02:59 +00:00
yarikoptic
0753ad46c2 It was "user error", things work now properlyish 2018-11-01 03:53:02 +00:00
Joey Hess
9c74ea84ab
add news item for git-annex 7.20181031 2018-10-31 15:47:37 -04:00
Joey Hess
37d00ca671
response 2018-10-31 13:50:51 -04:00
Joey Hess
83fc3692b9
Merge branch 'master' of ssh://git-annex.branchable.com 2018-10-31 12:44:12 -04:00
Adam.Schmalhofer@245dc7fa3c05299fc8973ae4241bcab07cd36140
506283c3f9 initial issue description 2018-10-31 15:51:04 +00:00
Ilya_Shlyakhter
8673c18f41 removed 2018-10-31 14:53:50 +00:00
Joey Hess
b5a6dfc779
close smudge, open transition tracking item 2018-10-31 08:31:07 -04:00
Gus
a1379fe56b Added a comment: Nice! 2018-10-30 22:14:43 +00:00
Joey Hess
b144622d0d
devblog 2018-10-30 18:11:11 -04:00
Joey Hess
1428568554
retry when sqlite throws ErrorIO
I suspect this may be due to SQLITE_IOERR_SHORT_READ, but have not
verified.

I was able to reproduce it on Linux after running the test suite in a loop
for 1-3 hours until it failed.

The WAL mode entry change in 3963c5fcf5
may have hidden the problem I was seeing; I have not seen an ErrorIO
since then.
2018-10-30 18:06:38 -04:00
CandyAngel
2e0cc99b13 Add note about caching annex fulfilling this usage 2018-10-30 13:21:23 +00:00
Joey Hess
86c316ab0f
Merge branch 'master' of ssh://git-annex.branchable.com 2018-10-30 00:46:16 -04:00
Joey Hess
5ab0f48ffb
high-res mtimes
Cache high-resolution mtimes for improved detection of modified files in v7
(and direct mode).

Including on Windows.

With back-compat support so old low-res mtimes won't break anything, and
so the new information also won't break old versions of git-annex.
2018-10-30 00:41:26 -04:00
Ilya_Shlyakhter
d1a6daf40b added a use case for alt_keys 2018-10-30 01:40:18 +00:00
Joey Hess
cdb607d937
response 2018-10-29 19:38:19 -04:00
Joey Hess
5cb12f5adb
Merge branch 'master' of ssh://git-annex.branchable.com 2018-10-29 19:33:25 -04:00
Joey Hess
595fb98473
add small delay to avoid problems on systems with low-resolution mtime
I've seen intermittent failures of the test suite with v6 for a long time,
it seems to have possibly gotten worse with the changes around v7. Or just
being unlucky; all tests failed today.

Seen on amd64 and i386 builders, repeatedly but intermittently:

	unused: FAIL (4.86s)
	Test.hs:928:
	git diff did not show changes to unlocked file

And I think other such failures, all involving v7/v6 mode tests.

I managed to reproduce the unused failure with --keep-failures,
and inside the repo, git diff was indeed not showing any changes for
the modified unlocked file.

The two stats will be the same other than mtime; the old and new files have
the same size and inode, since the test case writes to the file and then
overwrites it.

Indeed, notice the identical timestamps:

	builder@orca:~/gitbuilder/build/.t/tmprepo335$ echo 1 > foo; stat foo; echo 2 > foo; stat foo
	  File: foo
	  Size: 2         	Blocks: 8          IO Block: 4096   regular file
	Device: 801h/2049d	Inode: 3546179     Links: 1
	Access: (0644/-rw-r--r--)  Uid: ( 1000/ builder)   Gid: ( 1000/ builder)
	Access: 2018-10-29 22:14:10.894942036 +0000
	Modify: 2018-10-29 22:14:10.894942036 +0000
	Change: 2018-10-29 22:14:10.894942036 +0000
	 Birth: -
	  File: foo
	  Size: 2         	Blocks: 8          IO Block: 4096   regular file
	Device: 801h/2049d	Inode: 3546179     Links: 1
	Access: (0644/-rw-r--r--)  Uid: ( 1000/ builder)   Gid: ( 1000/ builder)
	Access: 2018-10-29 22:14:10.894942036 +0000
	Modify: 2018-10-29 22:14:10.898942036 +0000
	Change: 2018-10-29 22:14:10.898942036 +0000
	 Birth: -

I'm seeing this in Linux VMs; it doesn't happen on my laptop. I've also
not experienced the intermittent test suite failures on my laptop.

So, I hope that this small delay will avoid the problem.

Update: I didn't, indeed I then reproduced the same failure on my
laptop, so it must be due to something else. But keeping this change anyway
since not needing to worry about lowish-resolution mtime in the test suite seems
worthwhile.
2018-10-29 19:31:26 -04:00
Gus
288041b609 2018-10-29 23:21:24 +00:00
Joey Hess
bdeba74d4d
Merge branch 'master' of ssh://git-annex.branchable.com 2018-10-29 17:11:55 -04:00
Ilya_Shlyakhter
24419efa35 Added a comment 2018-10-29 21:10:29 +00:00
Joey Hess
87d770e3fd
rethink 2018-10-29 17:09:55 -04:00
Ilya_Shlyakhter
6b5f2ecf0e Added a comment 2018-10-29 21:08:55 +00:00
Joey Hess
7a050660d6
ummmmm 2018-10-29 16:48:02 -04:00
Joey Hess
4431b82bce
migrate: Fix failure to migrate from URL keys. (Reversion introduced in version 6.20180926) 2018-10-29 16:36:36 -04:00
Joey Hess
d73f92d8bc
Merge branch 'master' of ssh://git-annex.branchable.com 2018-10-29 16:01:46 -04:00
Joey Hess
c472c268c4
webapp: Fixed a crash when adding a git remote.
Reversion introduced in 2b66492d6e which added a new cache that needs to be
cleared.
2018-10-29 16:01:08 -04:00
Ilya_Shlyakhter
b6e90fd18a Added a comment 2018-10-29 19:48:36 +00:00