Opened 15 years ago

Closed 15 years ago

#108 closed Enhancement (fixed)

Randomize announce interval

Reported by: titer Owned by: somebody
Priority: Normal Milestone: Sometime
Component: Transmission Version: 0.6
Severity: Normal Keywords:
Cc:

Description

I have a tracker with several thousand peers. When my tracker down for whatever reason and comes up again all the peers come back they hit them hard because they come more or less all in one minute. But the bad thing is, that they ALL come back again five minutes later because they running the SAME timer.

Attachments (6)

r850_ticket108_v1.patch (3.7 KB) - added by brent 15 years ago.
Added some tr_rand() to shouldConnect. Based on patch for ticket 71 that adds min_interval.
r850_ticket108_v2.patch (3.8 KB) - added by brent 15 years ago.
Only call tr_rand() once. Check condition against tc->tor_finished. (I'd still like to know the proper way of checking for not-seeding state.)
r862_ticket108_v2.patch (3.8 KB) - added by brent 15 years ago.
No functional change. Updated for new context.
r932_trackerc_brent_t108v3.patch (3.5 KB) - added by brent 15 years ago.
Updated for context
r1007_trackerc_brent_t108v4.patch (3.8 KB) - added by brent 15 years ago.
r1152_trackerc_t108v5.patch (2.8 KB) - added by oleo 15 years ago.
Following Brent ideas on r1152 - MIN/MAX runtime is not very clever way to do it.

Download all attachments as: .zip

Change History (9)

comment:1 Changed 15 years ago by brent

Remember to deal with the first condition in tracker.c's shouldConnect - 10 second retries if tracker is unreachable.

Changed 15 years ago by brent

Added some tr_rand() to shouldConnect. Based on patch for ticket 71 that adds min_interval.

Changed 15 years ago by brent

Only call tr_rand() once. Check condition against tc->tor_finished. (I'd still like to know the proper way of checking for not-seeding state.)

Changed 15 years ago by brent

No functional change. Updated for new context.

Changed 15 years ago by brent

Updated for context

Changed 15 years ago by brent

Changed 15 years ago by oleo

Following Brent ideas on r1152 - MIN/MAX runtime is not very clever way to do it.

comment:2 Changed 15 years ago by livings124

In the patches, the random offset is reset after each check. Since this function is called so frequently, eventually it'll be a small enough number. The random offset value would make more sense if it wasn't set each check.

comment:3 Changed 15 years ago by livings124

  • Resolution set to fixed
  • Status changed from new to closed

Done in [1242]

Note: See TracTickets for help on using tickets.