Skip to content

DHT announce timeboxing prevents full traversal with large torrent counts #1005

@Autodystopia

Description

@Autodystopia

Hello.

I have 1k infohashes.

I run qbittorrent with them, and after an hour i got 346 metainfos.
Then i run rain with same hashes, and after an hour i got 334 metainfos.
Then i run torrent with same hashes, and after an hour i got 15 metainfos. After 36 hours i got 58 metainfos.
On another server with torrent i got 10 metainfos after 12 hours.
Ofc i dont use trackers nowhere.

So, how do i figure out what the problem is?

This is config i use

config := torrent.NewDefaultClientConfig()
config.ListenPort = 14746
config.PublicIp4 = net.ParseIP("xxx.xxx.xxx.xxx")
config.DisableIPv6 = true
config.PeriodicallyAnnounceTorrentsToDht = true
config.TotalHalfOpenConns = 1000

Stats

Listen port: 14746
Extension bits: 0000000000100005 (ltep, fast, dht)
Announce key: 633e5895
Banned IPs: 0
udp DHT server at 0.0.0.0:14746:
ID: 02307c896b45d5a0da14c498d88f8d5a7842b464
(dht.ServerStats) {
GoodNodes: (int) 15,
Nodes: (int) 177,
OutstandingTransactions: (int) 2829,
SuccessfulOutboundAnnouncePeerQueries: (int64) 0,
BadNodes: (uint) 0,
OutboundQueriesAttempted: (int64) 4408672
}
(torrent.ClientStats) {
ConnStats: (torrent.ConnStats) {
BytesWritten: (torrent.Count) 1896338,
BytesWrittenData: (torrent.Count) 0,
BytesRead: (torrent.Count) 10068279,
BytesReadData: (torrent.Count) 0,
BytesReadUsefulData: (torrent.Count) 0,
BytesReadUsefulIntendedData: (torrent.Count) 0,
ChunksWritten: (torrent.Count) 0,
ChunksRead: (torrent.Count) 0,
ChunksReadUseful: (torrent.Count) 0,
ChunksReadWasted: (torrent.Count) 0,
MetadataChunksRead: (torrent.Count) 558,
PiecesDirtiedGood: (torrent.Count) 0,
PiecesDirtiedBad: (torrent.Count) 0
},
ActiveHalfOpenAttempts: (int) 0,
NumPeersUndialableWithoutHolepunch: (int) 524,
NumPeersUndialableWithoutHolepunchDialedAfterHolepunchConnect: (int) 0,
NumPeersDialableOnlyAfterHolepunch: (int) 0,
NumPeersDialedSuccessfullyAfterHolepunchConnect: (int) 0,
NumPeersProbablyOnlyConnectedDueToHolepunch: (int) 0
}
Torrents: 942

DHT Announces on each torrent: 432

Another server

Listen port: 14746
Extension bits: 0000000000100005 (ltep, fast, dht)
Announce key: -186fbcb9
Banned IPs: 0
udp DHT server at 0.0.0.0:14746:
ID: a8b056bc30cdc1d44378c90ea2edd8e973649962
(dht.ServerStats) {
GoodNodes: (int) 10,
Nodes: (int) 159,
OutstandingTransactions: (int) 2973,
SuccessfulOutboundAnnouncePeerQueries: (int64) 0,
BadNodes: (uint) 0,
OutboundQueriesAttempted: (int64) 1951953
}
(torrent.ClientStats) {
ConnStats: (torrent.ConnStats) {
BytesWritten: (torrent.Count) 38646,
BytesWrittenData: (torrent.Count) 0,
BytesRead: (torrent.Count) 3262765,
BytesReadData: (torrent.Count) 0,
BytesReadUsefulData: (torrent.Count) 0,
BytesReadUsefulIntendedData: (torrent.Count) 0,
ChunksWritten: (torrent.Count) 0,
ChunksRead: (torrent.Count) 0,
ChunksReadUseful: (torrent.Count) 0,
ChunksReadWasted: (torrent.Count) 0,
MetadataChunksRead: (torrent.Count) 197,
PiecesDirtiedGood: (torrent.Count) 0,
PiecesDirtiedBad: (torrent.Count) 0
},
ActiveHalfOpenAttempts: (int) 0,
NumPeersUndialableWithoutHolepunch: (int) 58,
NumPeersUndialableWithoutHolepunchDialedAfterHolepunchConnect: (int) 0,
NumPeersDialableOnlyAfterHolepunch: (int) 0,
NumPeersDialedSuccessfullyAfterHolepunchConnect: (int) 0,
NumPeersProbablyOnlyConnectedDueToHolepunch: (int) 0
}
Torrents: 990

DHT Announces on each torrent: 254

torrent v1.58.1, debian 12

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions