Commit graph

38169 commits

Author SHA1 Message Date
Joey Hess
922621301a
Serialize use of C magic library, which is not thread safe.
This fixes failures uploading to S3 when using -J.

This commit was sponsored by Denis Dzyubenko on Patreon.
2020-09-17 17:27:42 -04:00
Joey Hess
59f5d6509c
comment 2020-09-17 17:19:58 -04:00
Joey Hess
d293c0bced
improve this comment 2020-09-17 17:19:45 -04:00
https://christian.amsuess.com/chrysn
b301a64aa2 Added a comment: Re: comment 1 2020-09-17 20:42:12 +00:00
Joey Hess
f2cdacdb68
reproduced, some tcpdump analysis 2020-09-17 16:23:29 -04:00
Joey Hess
16c05c176c
comment 2020-09-17 14:26:16 -04:00
https://christian.amsuess.com/chrysn
7749b2278b Added a comment: update 2020-09-17 14:57:54 +00:00
https://christian.amsuess.com/chrysn
0d8f6e70f5 document bug i ran into early while exploring httpalso 2020-09-17 14:43:49 +00:00
Joey Hess
83df401d93
Merge branch 'batchasync' into master 2020-09-16 13:02:58 -04:00
Joey Hess
10f9107c1b
close 2020-09-16 13:02:35 -04:00
Joey Hess
38e9fc0161
tip documenting mostly --batch --json including with -J 2020-09-16 13:00:47 -04:00
Joey Hess
b6642dde8a
avoid interleaving command stages with Concurrency 1
Before, -J1 was different than no -J: It makes concurrent-output be used
for display, and it actually can run concurrent jobs in some situations.
Eg, a perform stage and a cleanup stage can both run.

dupState is used in several places, and changes NonConcurrent to
Concurrent 1. My concern is that this might, in some case, enable
that concurrent behavior. And in particular, that it might get enabled in
--batch mode, when the user is not expecting concurrent output because
they did not pass -J.

While I don't have a test case where that happens and causes out of
order output, it looks like it could, and so prudent to make this change.
2020-09-16 12:10:45 -04:00
Joey Hess
877ef84a1b
support --batch -J
--batch combined with -J now runs batch requests concurrently for many
commands. Before, the combination was accepted, but did not enable
concurrency. Since the output of batch requests can be in any order, --json
with the new "input" field is recommended to be used, to determine which
batch request each response corresponds to.

If --json is not used, batch mode still runs concurrently, using the usual
concurrent-output. That will not be very useful for most batch mode users,
probably, but who knows.

If a program was using --batch -J before, and was parsing non-json output,
this could break it. But, it was relying on git-annex not supporting
concurrency despite it being enabled, so it should have expected concurrent
output. So, I think that's ok.

annex.jobs does not enable concurrency in --batch mode, because that would
confuse programs that use --batch but don't expect concurrency.
2020-09-16 12:10:37 -04:00
Joey Hess
77c42782d0
differentiate between concurrency enabled at command line and by git config
The latter should not affect --batch mode.
2020-09-16 11:47:12 -04:00
Joey Hess
8471df3b6d
rename Configurable for clarity 2020-09-16 11:16:48 -04:00
Joey Hess
7a4f3ff345
remove callCommandAction'
This is prep for making batchCommandAction use commandAction,
which will enable concurrency for batch mode. Since commandAction can't
return anything, have to handle the case of a CommandStart that chooses
to do nothing in a different way.
2020-09-16 10:53:16 -04:00
Joey Hess
7b4c7a7ffc
refactor
batchStart folded into only caller
2020-09-16 10:18:36 -04:00
Joey Hess
d677a30d54
comment 2020-09-15 16:41:01 -04:00
Joey Hess
2a7005a52f
Merge branch 'master' of ssh://git-annex.branchable.com into master 2020-09-15 16:30:22 -04:00
Joey Hess
929de3bb37
groundwork complete 2020-09-15 16:29:38 -04:00
Joey Hess
fcf5d11c63
add "input" field to json output
The use case of this field is mostly to support -J combined with --json.
When that is implemented, a user will be able to look at the field to
determine which of the requests they have sent it corresponds to.

The field typically has a single value in its list, but in some cases
mutliple values (eg 2 command-line params) are combined together and the
list will have more.

Note that json parsing was already non-strict, so old git-annex metadata
--json --batch can be fed json produced by the new git-annex and will
not stumble over the new field.
2020-09-15 16:22:44 -04:00
Joey Hess
2a3c2b1843
use Branch.name instead of hard coding the branch name
Makes much more clear why ActionItemOther is being passed "git-annex".
2020-09-15 15:47:22 -04:00
Joey Hess
3a05d53761
add SeekInput (not yet used)
No behavior changes (hopefully), just adding SeekInput and plumbing it
through to the JSON display code for later use.

Over the course of 2 grueling days.

withFilesNotInGit reimplemented in terms of seekHelper
should be the only possible behavior change. It seems to test as
behaving the same.

Note that seekHelper dummies up the SeekInput in the case where
segmentPaths' gives up on sorting the expanded paths because there are
too many input paths. When SeekInput later gets exposed as a json field,
that will result in it being a little bit wrong in the case where
100 or more paths are passed to a git-annex command. I think this is a
subtle enough problem to not matter. If it does turn out to be a
problem, fixing it would require splitting up the input
parameters into groups of < 100, which would make git ls-files run
perhaps more than is necessary. May want to revisit this, because that
fix seems fairly low-impact.
2020-09-15 15:41:13 -04:00
jochen.keil@38b1f86ab65128dab3e62e726403ceee4f5141bf
56c19a8da4 Added a comment 2020-09-15 13:34:48 +00:00
Joey Hess
a5d5935c0e
few more details 2020-09-14 20:00:54 -04:00
Joey Hess
ad9bb120f0
info gathered from irc 2020-09-14 19:52:49 -04:00
Joey Hess
5844a54869
aws-0.22 improved its support for setting etags, which improves support for versioned S3 buckets.
Remove placeholder version number I used when implementing the feature in
aws.

This commit was sponsored by Ethan Aubin.
2020-09-14 18:37:49 -04:00
Joey Hess
c87f73f638
point to commit that may fix this 2020-09-14 18:30:41 -04:00
Joey Hess
ddf963d019
deepseq all things returned from ResourceT http
Potentially fixes https://git-annex.branchable.com/bugs/concurrent_git-annex-copy_to_s3_special_remote_fails/
although I don't know if it does.

My thinking is, ResourceT may allocate a resource and then free it,
and a unforced thunk to that resource could result in reading memory
that has since been overwritten by something else, or in a SEGV,
depending. While that seems kind of like a bug in ResourceT to me, if it
is what's happening, this will avoid it. If it's not, this doesn't
really hurt much since the values are all smallish.

This commit was sponsored by Graham Spencer on Patreon.
2020-09-14 18:30:06 -04:00
Joey Hess
e26960752c
close as dup 2020-09-14 17:19:10 -04:00
Joey Hess
519aba2beb
close as dup 2020-09-14 17:15:54 -04:00
Joey Hess
c6e159550d
update 2020-09-14 16:57:47 -04:00
Joey Hess
a1accac084
Merge branch 'master' of ssh://git-annex.branchable.com into master 2020-09-14 13:12:40 -04:00
Sean Whitton
264e57c762
fix dist in latest NEWS entry
Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
2020-09-14 12:05:12 -04:00
kyotov
b6d3c8a0af 2020-09-13 16:40:53 +00:00
Ilya_Shlyakhter
9f91f83b75 Added a comment: standalone build version oddity 2020-09-12 19:07:58 +00:00
falsifian
d2427daa5c clarify first fsck call gave no output 2020-09-12 15:50:18 +00:00
falsifian
1eac1c26bf 2020-09-12 15:43:49 +00:00
falsifian
2cedadf82a removed 2020-09-12 15:30:38 +00:00
falsifian
37abb540e9 Added a comment 2020-09-12 15:30:06 +00:00
falsifian
9fb8397936 Added a comment 2020-09-12 15:29:42 +00:00
Ilya_Shlyakhter
be59e433b4 Added a comment: updating the standalone distribution to 8.20200908 2020-09-12 15:20:21 +00:00
falsifian
6308af9cf5 2020-09-12 15:14:00 +00:00
falsifian
c3cd22877a removed 2020-09-12 03:52:07 +00:00
falsifian
320f918e9c removed 2020-09-12 03:51:52 +00:00
falsifian
7691d758bc Added a comment 2020-09-12 03:44:52 +00:00
falsifian
62fad04cce Added a comment: Can I actually add a requirement like "at least two copies stored offsite" without specifying a particular repo? 2020-09-12 03:36:03 +00:00
yarikoptic
175fe50a65 initial report on the stuck test on osx 2020-09-11 02:18:21 +00:00
Joey Hess
8955ac39f8
Merge branch 'master' of ssh://git-annex.branchable.com into master 2020-09-10 13:14:06 -04:00
Joey Hess
63d6cb27a9
thoughts 2020-09-10 13:13:39 -04:00