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

Expose libtorrent version in client string (in order to influence better adoption of v2.x over 1.x) #19988

Open
bmfrosty opened this issue Nov 22, 2023 · 9 comments

Comments

@bmfrosty
Copy link

Suggestion

Simple as it says. When looking at a peer list, I can see that others are using version 4.6.0 or 4.6.1, but I don't know if they're capable of supporting v2 protocol.

Use case

Could be used to strengthen the case towards moving towards the v2 protocol.

Extra info/examples/attachments

No response

@thalieht
Copy link
Contributor

Could be used to strengthen the case towards moving towards the v2 protocol.

I don't see how this change would do that.

@bmfrosty
Copy link
Author

Libtorrent 1.x doens't support v2. 2.x does. Part of the equation for using v2 vs v1 is the proliferation of clients that support v2.

@luzpaz luzpaz changed the title Expose libtorrent version in client string Expose libtorrent version in client string (in order to infliuence better adoption of v2.x over 1.x) Nov 27, 2023
@luzpaz luzpaz changed the title Expose libtorrent version in client string (in order to infliuence better adoption of v2.x over 1.x) Expose libtorrent version in client string (in order to influence better adoption of v2.x over 1.x) Nov 27, 2023
@Scripter17
Copy link

I don't see how this change would do that.

Peer pressure; If you see a lot of libtorrent 2.x users you'll feel like you're missing out on the benefits that a big community of 2.x users provides. I still see people making V1-only torrents because, I assume, they think most people don't use V2 torrents.

Though it might have the reverse effect; People could stop caring about 2.x because they see nobody using it

@bmfrosty
Copy link
Author

bmfrosty commented Dec 1, 2023

I don't see how this change would do that.

Peer pressure; If you see a lot of libtorrent 2.x users you'll feel like you're missing out on the benefits that a big community of 2.x users provides. I still see people making V1-only torrents because, I assume, they think most people don't use V2 torrents.

Though it might have the reverse effect; People could stop caring about 2.x because they see nobody using it

My thinking is if someone is inclined to use v2 (as I am - mostly for the padding and per-file hashes), and they're creating torrents, seeing that other clients on other torrents that they're seeing supporting v2 could tip the balance. Honestly, I have no idea what client share is like anymore, but the most popular ones that don't support v2 at this point are probably Deluge and rTorrent. Deluge hasn't been updated in over a year, and rTorrent is over four years since it last had an update. Deluge is already on libtorrent v2, so bittorrent v2 is probably likely to happen.

v2 should become the default sooner or later - it just needs to lose a few barriers.

@vincejv
Copy link

vincejv commented Dec 7, 2023

@Scripter17

Peer pressure.. you're missing out on the benefits that a big community of 2.x

I'll only be "pressured" to upgrade if the v2 long standing issues are fixed, a usable, non-crashing client outweighs all the benefits of info hash v2 which none of any private trackers I know of supports

@bmfrosty
Copy link
Author

bmfrosty commented Dec 7, 2023

@Scripter17

Peer pressure.. you're missing out on the benefits that a big community of 2.x

I'll only be "pressured" to upgrade if the v2 long standing issues are fixed, a usable, non-crashing client outweighs all the benefits of info hash v2 which none of any private trackers I know of supports

* [Libtorrent 2.x memory-mapped files and RAM usage arvidn/libtorrent#6667 (comment)](https://github.com/arvidn/libtorrent/issues/6667#issuecomment-1804035311)

* [Why libtorrent 2.0's use of memory mapped files was a bad idea arvidn/libtorrent#7551](https://github.com/arvidn/libtorrent/issues/7551)

* [Memory leak with memory mapped file IO #19914](https://github.com/qbittorrent/qBittorrent/issues/19914)

* [qBittorrent is unstable with libtorrent 2.0 #18647](https://github.com/qbittorrent/qBittorrent/issues/18647)

The one you're missing from your links is this - arvidn/libtorrent#7013 - Arvid is working on it.

Basically he was aggressive with using mmap in 2.0, and it turns out that mmap isn't a solution that works in every situation very well. The big ones are some Windows cases (more torrents than you have RAM) and network drives (they're relatively slow). He's adding a new disk-io implementation that's closer what was in 1.x.

FWIW, the 2.0 implementation is head and shoulders above what was in 1.x for my use case which is docker on unraid.

@vincejv
Copy link

vincejv commented Dec 7, 2023

Arvid is working on it.

Then let's wait for him to finish testing and give him time to work out the bugs and glitches in this new IO, that'd be a lot better than "peer pressure because i see people using libtorrent 2 in my peer list"

@bmfrosty
Copy link
Author

bmfrosty commented Dec 7, 2023

Arvid is working on it.

Then let's wait for him to finish testing and give him time to work out the bugs and glitches in this new IO, that'd be a lot better than "peer pressure because i see people using libtorrent 2 in my peer list"

I'm thinking of it more as seeing the capabilities that are out there. I'd love to see more hybrid torrents, but those who would be inclined to create them are less likely to if they don't know what capabilities are out there.

More information is better.

@JayDrie
Copy link

JayDrie commented Dec 9, 2023

FWIW
Having used QB-portable for years now, it started crashing on 'larger' files (for me that is - mostly using it for movies - up to 2GB) - above 30-40 GB on checking the files, it hanged - at times showing an error report, mostly just freezing my PC (Win 10, 64 Pro - 16 GB RAM).

Couldn't find a solution, so installed the 64bit version (.exe) and that seemed to solve it - until it needed to recheck a truly large file (250GB) - same thing: choking, a few % done, crashing, freezing Explorer > reboot.

I then figured I might give LibTorrent V2 a try - after installing that version (LT 2.x included in the .exe), it still took about 10 minutes to (re)check the large file, yet it finished - solving all my earlier issues.

Not sure how LT V1 & V2 differ (apparently not everybody is happy with it yet...), but to me it would have helped if I had had the option (in the portable version) to switch from V1 to V2 and giving that a try (before completely removing it, transferring settings, installing QB etc.). I wasn't even aware of what it does, its two versions (not avail in portable, I believe)... or how to add/update it manually.

Anyway, my 2c - thanks to all people providing QB.

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

No branches or pull requests

5 participants