-
Notifications
You must be signed in to change notification settings - Fork 1.4k
Fix a collection of downloader, snapshot sync and torrent related issues #15043
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
Merged
Merged
Changes from all commits
Commits
Show all changes
99 commits
Select commit
Hold shift + click to select a range
f368d69
Tidy comment
anacrolix d4c329f
Add description for bt-search snapshot command
anacrolix 7de19f3
Upstream anacrolix/torrent compatibility
anacrolix d4e750b
Expose /downloaderTorrentClientStatus for regular erigon sync
anacrolix b476b89
Remove downloader manifest driven sync
anacrolix eee54eb
Switch to anacrolix/torrent upstream
anacrolix 3ea46dd
Remove old handler
anacrolix f5966a0
Makefile: Add BUILD_FLAGS for -race
anacrolix 08ced5a
Downloader refactoring
anacrolix e5670f5
Begin using part files
anacrolix c57a89f
Merge branch 'main' into anacrolix/main
anacrolix 3862254
Logging and part files
anacrolix 89515cc
Don't load unrelated chains
anacrolix 63c3d60
Fix the returned error
anacrolix c2c0eb5
Merge branch 'anacrolix/custom-snapshot-config' into anacrolix/main
anacrolix b5d0d0d
Fix not returning first parsed webseeds
anacrolix c35eddf
A few fixes loading metainfos from disk
anacrolix 10ff9db
Remove a few unused things
anacrolix 54a561a
Harden AtomicTorrentFS even more
anacrolix 168598a
Remove broken trackers
anacrolix c12ddd0
Truncate oversize snapshot files
anacrolix 4029982
Remove Downloader.Verify and TorrentCompleted
anacrolix fdb4980
Remove bad metainfos from disk, do onGotInfo actions synchronously if…
anacrolix baf0803
Merge remote-tracking branch 'origin/main' into anacrolix/main
anacrolix c7f5294
Merge remote-tracking branch 'origin/main' into anacrolix/main
anacrolix 6ea3817
Merge remote-tracking branch 'origin/main' into anacrolix/main
anacrolix a370f9f
Disable the panic catching
anacrolix d495b1a
Revert "Don't load unrelated chains"
anacrolix 89226f0
Modify GO_FLAGS to allow clobbering trimpath
anacrolix 2b89b7f
Zed removed trailing whitespace
anacrolix 633d84c
Add missing record attrs in slog to turbo log adapter
anacrolix 5330a8b
Fix error log level conversion due to integer truncation
anacrolix 911acc4
Improve slog to erilog mapping
anacrolix 22e1009
Ignore datadirs
anacrolix faa0206
Resolve local go work deps
anacrolix bbfc7bf
Add note about torrent rate flags
anacrolix b8c21fb
Pass safer burst values to torrent config rates
anacrolix 690ef6b
Set chunk size to 256 KiB
anacrolix 9e3a377
Disjoint header files in stage sync
anacrolix 497ed53
Introduce downloadercfg.NewCfgOpts so I can get torrent disable track…
anacrolix 597435b
Rejigger some Makefile vars so I can cross compile out of tree
anacrolix 5a863b6
Merge remote-tracking branch 'origin/main' into anacrolix/main
anacrolix e4923ba
Move verify to Downloader config
anacrolix c8eedb7
Make %.cmd phony
anacrolix aed7904
I really need that output...
anacrolix 64215ce
Verify pieces in files that don't pass completed snapshot validation
anacrolix 2c14690
Prefer Slogger to anacrolix/torrent now
anacrolix e43ecf6
Save metainfo files only when torrent newly completes
anacrolix 238d463
Tidy up progress logging
anacrolix 3add853
Write preverified after download stage completes
anacrolix e590279
Forgot to link up Verify and VerifyTorrentData fields
anacrolix 84562a0
Log panics
anacrolix 64c2a0c
Merge remote-tracking branch 'origin/main' into anacrolix/main
anacrolix 6a0af69
Change disk metainfo hash mismatch to debug
anacrolix cb6a7fc
Use slog to log torrent stuff, and add a separate log file
anacrolix 81749da
Print stack from panic in StageLoopIteration
anacrolix 1d0aeea
Fix up various test build errors
anacrolix 1888e43
Merge branch 'main' into anacrolix/master
anacrolix b2ae52a
Fix imports for failed CI
anacrolix 4dd2c14
Improve downloader logging
anacrolix 75d4e6b
Log completed snapshot sync steps
anacrolix 6548719
Merge remote-tracking branch 'origin/main' into anacrolix/main
anacrolix 161585b
Fix some assumptions for tests
anacrolix 5e4a0b9
Merge remote-tracking branch 'origin/main' into anacrolix/main
anacrolix d93a674
go mod tidy all modules
anacrolix fe6432a
Merge branch 'main' into anacrolix/master
anacrolix e5ec9fc
Unused func
anacrolix 168e978
Remove unused flags and config fields
anacrolix 487529a
Restore loading torrents from disk
anacrolix 39dc8ab
Fix locks for required torrents
anacrolix 561b8ba
Log adapter testing logs
anacrolix ac61d00
Fix integer overflow in time left calculation
anacrolix e8baacd
Retry saving metainfo for new torrent if final precheck fails
anacrolix c18bc34
Update anacrolix/torrent
anacrolix 91894c4
Merge remote-tracking branch 'origin/main' into anacrolix/main
anacrolix 9bf1528
Fix downloader ignoring cancellation when there are incomplete torrents
anacrolix 616b874
Merge remote-tracking branch 'origin/main' into anacrolix/main
anacrolix ba2ada7
Reinstate torrent.download.slots until I can deprecate it
anacrolix b804734
Fix lints
anacrolix 6278d39
Add commit option for mod tidy check
anacrolix 076678c
Make Go expvars available to Prometheus for diagnostics
anacrolix 2196bb2
Sync deps and lint
anacrolix e22615e
Merge remote-tracking branch 'origin/main' into anacrolix/main
anacrolix b63d866
Merge remote-tracking branch 'origin/main' into anacrolix/main
anacrolix 963afdd
Add TODO on logging
anacrolix 7de6ff2
Merge remote-tracking branch 'origin/main' into anacrolix/main
anacrolix 097ece7
Fix torrent_cat always showing empty InfoBytes
anacrolix e77b404
Fix up Downloader verify to fail on incomplete
anacrolix b9ab5ca
Improve error message while messing with snapshot dir
anacrolix 27c1914
Checked path calculation in AddTorrentsFromDisk
anacrolix 1088519
Merge branch 'main' into anacrolix/master
anacrolix 4c01e95
Tighten up Downloader snapshot deletion
anacrolix e3e9364
Fix anacrolix/torrent webseed.Client.Logger not being set for content…
anacrolix 2634b79
Merge branch 'main' into anacrolix/master
anacrolix adb7320
Remove anacrolix/torrent replace directives that have crept in
anacrolix 0636991
Break the weird deadlock go mod tidy is in with all the modules
anacrolix d23c8c4
Lint changes go1.23 to go1.24
anacrolix 6f3257f
Merge remote-tracking branch 'origin/main' into anacrolix/master
anacrolix 1660c1c
kick ci
AskAlexSharov File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In my head hashers are not cpu-bouned: they are mmap-read-page-faults-bounded.
This is reason why it's not linked to NumCPU.
On server with much cpus and slow disks (cloud drives) - it can lead to
golang's runtime panic - 10K threads exeeded
(because this limit isper-file
and we have many files).Actually we need global limit for hashers amount - but let's do it in another (low-prio future) tasks.
We currently don't focus much on cloud drives (or another slow drives) - many other existing bottelnecks need to fix first.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks. I was curious as to the value and knew there'd a good reason.