Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ENH(TST): populate heavy tree with 100 unique keys (not just 1) among 10,000 #5734

Merged
merged 2 commits into from Jun 10, 2021

Conversation

yarikoptic
Copy link
Member

I think it would still fit the purpose of the test (long lists of files) while possibly avoid annex taking too long to deal with 10,000 copies of the same file (unrealistic scenario IMHO). We would still have 100 unique keys (not 10,000) so file system would not get tortured that heavily to populate all the .git/annex/objects.

Ref: https://git-annex.branchable.com/bugs/significant_performance_regression_impacting_datal/

@bpoldrack
Copy link
Member

Seems reasonable to me.

It still managed to hang my VM running out of the space.  So I will
see if appveyor CI handles it better.
@codecov
Copy link

codecov bot commented Jun 10, 2021

Codecov Report

Merging #5734 (a28ed01) into maint (8c158c5) will decrease coverage by 6.61%.
The diff coverage is 100.00%.

❗ Current head a28ed01 differs from pull request most recent head f11a3fe. Consider uploading reports for the commit f11a3fe to get more accurate results
Impacted file tree graph

@@            Coverage Diff             @@
##            maint    #5734      +/-   ##
==========================================
- Coverage   90.30%   83.69%   -6.62%     
==========================================
  Files         299      296       -3     
  Lines       42353    41215    -1138     
==========================================
- Hits        38247    34495    -3752     
- Misses       4106     6720    +2614     
Impacted Files Coverage Δ
datalad/support/tests/test_annexrepo.py 95.07% <100.00%> (-2.41%) ⬇️
datalad/support/tests/utils.py 0.00% <0.00%> (-100.00%) ⬇️
datalad/metadata/extractors/tests/test_audio.py 20.00% <0.00%> (-80.00%) ⬇️
datalad/metadata/extractors/xmp.py 12.96% <0.00%> (-79.63%) ⬇️
datalad/metadata/extractors/exif.py 18.75% <0.00%> (-78.13%) ⬇️
datalad/metadata/extractors/image.py 19.35% <0.00%> (-77.42%) ⬇️
datalad/metadata/extractors/audio.py 20.00% <0.00%> (-77.15%) ⬇️
datalad/metadata/extractors/tests/test_exif.py 25.00% <0.00%> (-75.00%) ⬇️
datalad/metadata/extractors/tests/test_xmp.py 28.00% <0.00%> (-72.00%) ⬇️
datalad/metadata/extractors/tests/test_image.py 28.00% <0.00%> (-72.00%) ⬇️
... and 194 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 8c158c5...f11a3fe. Read the comment docs.

@@ -2385,7 +2396,7 @@ def check_files_split(cls, topdir):
dl.save(dataset=r.path, path=dirs)


@known_failure_windows # does not find files to add (too long paths?)
# @known_failure_windows # might fail with some older annex `cp` failing to set permissions
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

it seems to happily run it on appveyor now

(git)smaug:/mnt/btrfs/datasets/datalad/ci/logs/2021/06[master]10
$> grep test_files_split pr/5734/f11a3fe/appveyor-6136-success/*
pr/5734/f11a3fe/appveyor-6136-success/2a7fac7mhfxqdhc8.txt:[00:26:20] datalad.support.tests.test_annexrepo.test_files_split_exc(<class 'datalad.support.gitrepo.GitRepo'>,) ... ok
pr/5734/f11a3fe/appveyor-6136-success/2a7fac7mhfxqdhc8.txt:[00:26:36] datalad.support.tests.test_annexrepo.test_files_split_exc(<class 'datalad.support.annexrepo.AnnexRepo'>,) ... ok
pr/5734/f11a3fe/appveyor-6136-success/2a7fac7mhfxqdhc8.txt:[00:27:02] datalad.support.tests.test_annexrepo.test_files_split(<class 'datalad.support.gitrepo.GitRepo'>,) ... ok
pr/5734/f11a3fe/appveyor-6136-success/2a7fac7mhfxqdhc8.txt:[00:28:55] datalad.support.tests.test_annexrepo.test_files_split(<class 'datalad.support.annexrepo.AnnexRepo'>,) ... ok
pr/5734/f11a3fe/appveyor-6136-success/2b2con1jce8cna36.txt:[00:17:25] datalad.support.tests.test_annexrepo.test_files_split_exc(<class 'datalad.support.gitrepo.GitRepo'>,) ... ok
pr/5734/f11a3fe/appveyor-6136-success/2b2con1jce8cna36.txt:[00:17:47] datalad.support.tests.test_annexrepo.test_files_split_exc(<class 'datalad.support.annexrepo.AnnexRepo'>,) ... ok
pr/5734/f11a3fe/appveyor-6136-success/2b2con1jce8cna36.txt:[00:18:29] datalad.support.tests.test_annexrepo.test_files_split(<class 'datalad.support.gitrepo.GitRepo'>,) ... ok
pr/5734/f11a3fe/appveyor-6136-success/2b2con1jce8cna36.txt:[00:24:00] datalad.support.tests.test_annexrepo.test_files_split(<class 'datalad.support.annexrepo.AnnexRepo'>,) ... ok
pr/5734/f11a3fe/appveyor-6136-success/4mq5uh9l1e2edtii.txt:[00:12:49] datalad.support.tests.test_annexrepo.test_files_split_exc(<class 'datalad.support.gitrepo.GitRepo'>,) ... ok
pr/5734/f11a3fe/appveyor-6136-success/4mq5uh9l1e2edtii.txt:[00:13:43] datalad.support.tests.test_annexrepo.test_files_split_exc(<class 'datalad.support.annexrepo.AnnexRepo'>,) ... ok
pr/5734/f11a3fe/appveyor-6136-success/4mq5uh9l1e2edtii.txt:[00:13:46] datalad.support.tests.test_annexrepo.test_files_split(<class 'datalad.support.gitrepo.GitRepo'>,) ... ok
pr/5734/f11a3fe/appveyor-6136-success/4mq5uh9l1e2edtii.txt:[00:25:38] datalad.support.tests.test_annexrepo.test_files_split(<class 'datalad.support.annexrepo.AnnexRepo'>,) ... ok
pr/5734/f11a3fe/appveyor-6136-success/wi1bdfqu682mpp1e.txt:[00:27:42] datalad.support.tests.test_annexrepo.test_files_split_exc(<class 'datalad.support.gitrepo.GitRepo'>,) ... ok
pr/5734/f11a3fe/appveyor-6136-success/wi1bdfqu682mpp1e.txt:[00:27:54] datalad.support.tests.test_annexrepo.test_files_split_exc(<class 'datalad.support.annexrepo.AnnexRepo'>,) ... ok
pr/5734/f11a3fe/appveyor-6136-success/wi1bdfqu682mpp1e.txt:[00:28:19] datalad.support.tests.test_annexrepo.test_files_split(<class 'datalad.support.gitrepo.GitRepo'>,) ... ok
pr/5734/f11a3fe/appveyor-6136-success/wi1bdfqu682mpp1e.txt:[00:30:09] datalad.support.tests.test_annexrepo.test_files_split(<class 'datalad.support.annexrepo.AnnexRepo'>,) ... ok
pr/5734/f11a3fe/appveyor-6136-success/yl3m216fnici99d2.txt:[00:26:21] datalad.support.tests.test_annexrepo.test_files_split_exc(<class 'datalad.support.gitrepo.GitRepo'>,) ... ok
pr/5734/f11a3fe/appveyor-6136-success/yl3m216fnici99d2.txt:[00:26:36] datalad.support.tests.test_annexrepo.test_files_split_exc(<class 'datalad.support.annexrepo.AnnexRepo'>,) ... ok
pr/5734/f11a3fe/appveyor-6136-success/yl3m216fnici99d2.txt:[00:27:02] datalad.support.tests.test_annexrepo.test_files_split(<class 'datalad.support.gitrepo.GitRepo'>,) ... ok
pr/5734/f11a3fe/appveyor-6136-success/yl3m216fnici99d2.txt:[00:28:54] datalad.support.tests.test_annexrepo.test_files_split(<class 'datalad.support.annexrepo.AnnexRepo'>,) ... ok

@yarikoptic
Copy link
Member Author

ok, it is still green, even appveyor is running it now (although in a trimmed configuration), so let's proceed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants