Commit graph

45862 commits

Author SHA1 Message Date
yarikoptic
2e03c7397a add empty line so ``` is formatted correctly 2024-11-07 21:39:17 +00:00
yarikoptic
4214a47114 initial remote on need to check if versioning already enabled and thus avoid PUT 2024-11-07 21:38:35 +00:00
marc+bugs@bd1c733f9e5bee7c2279a9c649e80fac0e540c14
7ab55ce646 removed 2024-11-07 14:17:33 +00:00
marc+bugs@bd1c733f9e5bee7c2279a9c649e80fac0e540c14
7fdf9e54fa Added a comment: Examples 2024-11-07 14:13:27 +00:00
yarikoptic
0628ec7fd5 Added a comment: cannot "unregister" fully 2024-11-05 20:59:16 +00:00
mike@2d6d71f56ce2a992244350475251df87c26fe351
d4f5956582 Added a comment: Re: corruption using git-annex-remote-rclone 2024-11-05 15:43:10 +00:00
yarikoptic
810de3108d initial report on keeping adding to git 2024-11-04 17:52:14 +00:00
matrss
f3cb16864b Added a comment 2024-11-04 14:52:56 +00:00
psxvoid
4a77ed6bb2 Added a comment: possible fix 2024-11-04 13:54:23 +00:00
yarikoptic
dcfca3f49d Added a comment 2024-11-03 14:48:03 +00:00
psxvoid
3d553347af 2024-11-03 14:09:34 +00:00
psxvoid
b8cb6c59a3 2024-11-03 14:07:27 +00:00
psxvoid
c6b491363d removed 2024-11-03 13:45:48 +00:00
psxvoid
b26d7d3ed4 Added a comment: using fuse and nextcloud 2024-11-03 13:44:57 +00:00
psxvoid
a1309ebbbb Added a comment: using fuse and nextcloud 2024-11-03 13:44:44 +00:00
yarikoptic
3a0bf959d7 Added a comment 2024-11-01 02:29:23 +00:00
Joey Hess
91dd129349
scaling 2024-10-31 17:27:13 -04:00
Joey Hess
e514498170
update 2024-10-31 17:25:59 -04:00
Joey Hess
681a64f9cd
add news item for git-annex 10.20241031 2024-10-31 17:20:22 -04:00
Joey Hess
80d82dba99
releasing package git-annex version 10.20241031 2024-10-31 17:20:13 -04:00
Joey Hess
3c973aba57
oops, add the new todos meant to be in prev commit 2024-10-30 14:50:24 -04:00
Joey Hess
87871f724e
split up remaining items from todo/git-annex_proxies and close it! 2024-10-30 14:49:54 -04:00
Joey Hess
9b7378fb79
prepare for release tomorrow 2024-10-30 14:08:47 -04:00
Joey Hess
4b994a8531
link 2024-10-30 14:08:01 -04:00
Joey Hess
25604980ea
fix link 2024-10-30 14:06:51 -04:00
Joey Hess
b1776bbbbc
Merge branch 'master' of ssh://git-annex.branchable.com 2024-10-30 13:57:19 -04:00
Joey Hess
126daf949d
DATA-PRESENT working for exporttree=yes remotes
Since the annex-tracking-branch is pushed first, git-annex has already
updated the export database when the DATA-PRESENT arrives. Which means
that just using checkPresent is enough to verify that there is some file
on the special remote in the export location for the key.

So, the simplest possible implementation of this happened to work!

(I also tested it with chunked specialremotes, which also works, as long
as the chunk size used is the same as the configured chunk size. In that
case, the lack of a chunk log is not a problem. Doubtful this will ever
make sense to use with a chunked special remote though, that gets pretty
deep into re-implementing git-annex.)

Updated the client side upload tip with a missing step, and reorged for clarity.
2024-10-30 13:55:47 -04:00
Joey Hess
54dc1d6f6e
fix recording present on the proxy when proxying DATA-PRESENT
Apparently the protoerrhandler parameter never runs. Also the const
typo prevented the type checker from complaining that relayPUTRecord was
being called with 1 less parameter than needed.

So move the relayPUTRecord out of it.
2024-10-30 13:17:31 -04:00
Joey Hess
ccbc5189b5
Fix hang when receiving a large file into a proxied special remote
Only indicate that we're done with the bytestring once it all gets written.
Otherwise, the end of it may get garbage collected before we can process
it, leading to a hang.

This seems to have been introduced in commit
cdc4bd7443. Which oddly was trying to fix a
very similar problem, but specific to a cluster node. In that commit,
things got out of order, with it signaling it was done with the bytestring
before it has written all of it to the file.

My test case for this bug is a directory special remote
with a file being sent to it via a proxy accessed via ssh or http.
The file was 10 mb, and it hung on the last few kb of it not being
received.

I've also tested this fix in the case of proxying to a cluster node
directory special remote over http, which was the case
cdc4bd7443 was dealing with.
2024-10-30 12:29:37 -04:00
Joey Hess
fda151a4e2
Merge branch 'master' into p2pv4 2024-10-30 08:13:49 -04:00
Joey Hess
4d03ada12f
break out todo item 2024-10-30 08:13:33 -04:00
Joey Hess
2ca6ecad58
add tip for DATA-PRESENT feature 2024-10-29 16:15:01 -04:00
Joey Hess
0117cdab11
document DATA-PRESENT in CHANGELOG
I wonder where else this could be documented? It's kind of a niche
feature, since it needs at least a partial custom implementation of the p2p
protocol or the p2phttp protocol. But it can save a lot of bandwidth and
avoid the proxy needing disk space to buffer files uploaded to a special
remote.
2024-10-29 15:07:30 -04:00
Joey Hess
f19ebabe89
support DATA-PRESENT when proxtying for special remotes
There is a TODO left in the code for exporttree special remotes. If
possible, it should check if one of the export locations contains the
content of the key.
2024-10-29 14:55:31 -04:00
Joey Hess
2fc3fbfed2
support DATA-PRESENT in the p2p protocol proxy
But not yet when proxying to special remotes.

When proxying for a cluster, the client can store the object on any node
or nodes of the cluster, and send DATA-PRESENT. That gets proxied to each
node, and if any of them agree that they have the data, the proxy will
respond with SUCCESS or SUCCESS-PLUS.

I think it's ok to not check for the proxied remotes supporting protocol
version 4. When there are multiple remotes in a cluster, it behaves as
described above, and if they all respond with ERROR, the result will be
FAILURE. And when not proxying for a cluster, the proxy negotiates the
p2p protocol to be the same version or lower than the proxied remote,
which will prevent sending DATA-PRESENT when it's too old.
2024-10-29 14:44:23 -04:00
Joey Hess
a4e9057486
implement put data-present parameter in http servant
Changed the protocol docs because servant parses "true" and "false" for
booleans in query parameters, not "1" and "0".

clientPut with datapresent=True is not used by git-annex, and I don't
anticipate it being used in git-annex, except for testing.

I've tested this by making clientPut be called with datapresent=True and
git-annex copy to a remote succeeds once the object file is first
manually copied to the remote. That would be a good test for the test
suite, but running the http client means exposing it to at least
localhost, and would fail if a real http client was already running on
that port.
2024-10-29 13:32:43 -04:00
Joey Hess
57e27adb55
implement DATA-PRESENT in p2p protocol
Not yet implemented for the http server or the proxy.
2024-10-29 13:12:12 -04:00
pdz
7def4d0f48 2024-10-29 16:25:33 +00:00
Joey Hess
20df236a13
update http servant for p2p protocol version 4
This is all just adding the v4 routes and boilerplate. At this point v4
is implemented the same as v3.
2024-10-29 12:13:56 -04:00
Joey Hess
d782b136e0
p2p protocol version 4 for DATA-PRESENT 2024-10-29 10:39:12 -04:00
Joey Hess
dc7aec77a4
formatting 2024-10-28 13:49:58 -04:00
Joey Hess
95d1d29724
update 2024-10-28 13:46:57 -04:00
Joey Hess
926b632faa
simplified design for indirect uploads 2024-10-28 13:29:33 -04:00
Joey Hess
9db69a4c2c
fix reversion in getting from unchunked encrypted special remotes
Have to use the object file for the encrypted key, not the unencrypted
key.

Bug introduced in 835283b862
2024-10-28 12:20:10 -04:00
Joey Hess
63b33750c9
bisected 2024-10-28 12:01:23 -04:00
Joey Hess
12626c7fae
reproduced 2024-10-28 11:46:04 -04:00
yarikoptic
e1927e1e57 initial report on fresh FTBFS on debian 2024-10-24 14:00:14 +00:00
Joey Hess
cf7e6835ca
comment 2024-10-22 13:54:54 -04:00
Joey Hess
6a78f245ad
comment 2024-10-22 13:36:31 -04:00
Joey Hess
8ef0c7836a
remove warnings about tuning being experimental 2024-10-22 13:27:25 -04:00