mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2025-02-23 14:40:51 +01:00
r15868@catbus: nickm | 2007-10-16 14:18:29 -0400
Remove nearly all calls to routerlist_remove_old(). Backport candidate. svn:r11994
This commit is contained in:
parent
29173560b8
commit
9d7eba6ecc
3 changed files with 19 additions and 6 deletions
|
@ -16,6 +16,10 @@ Changes in version 0.2.0.9-alpha - 2007-10-??
|
||||||
than 28 days unmodified, then most likely it's a leftover from when we
|
than 28 days unmodified, then most likely it's a leftover from when we
|
||||||
upgraded to 0.2.0.8-alpha. Remove it. It has no good routers anyway.
|
upgraded to 0.2.0.8-alpha. Remove it. It has no good routers anyway.
|
||||||
|
|
||||||
|
o Minor features (performance):
|
||||||
|
- Call routerlist_remove_old_routers() much less often. This should
|
||||||
|
speed startup, especially on directory caches.
|
||||||
|
|
||||||
o Minor bugfixes (directory authorities):
|
o Minor bugfixes (directory authorities):
|
||||||
- Correct the implementation of "download votes by digest." Bugfix on
|
- Correct the implementation of "download votes by digest." Bugfix on
|
||||||
0.2.0.8-alpha.
|
0.2.0.8-alpha.
|
||||||
|
|
|
@ -994,8 +994,9 @@ run_scheduled_events(time_t now)
|
||||||
/* If any networkstatus documents are no longer recent, we need to
|
/* If any networkstatus documents are no longer recent, we need to
|
||||||
* update all the descriptors' running status. */
|
* update all the descriptors' running status. */
|
||||||
/* purge obsolete entries */
|
/* purge obsolete entries */
|
||||||
routerlist_remove_old_routers();
|
|
||||||
networkstatus_v2_list_clean(now);
|
networkstatus_v2_list_clean(now);
|
||||||
|
/* Remove dead routers. */
|
||||||
|
routerlist_remove_old_routers();
|
||||||
#if 0
|
#if 0
|
||||||
networkstatus_v2_list_update_recent(now);
|
networkstatus_v2_list_update_recent(now);
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -475,7 +475,7 @@ router_rebuild_store(int force, desc_store_t *store)
|
||||||
if (!routerlist)
|
if (!routerlist)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
routerlist_assert_ok(routerlist);
|
//routerlist_assert_ok(routerlist);
|
||||||
|
|
||||||
/* Don't save deadweight. */
|
/* Don't save deadweight. */
|
||||||
routerlist_remove_old_routers();
|
routerlist_remove_old_routers();
|
||||||
|
@ -2140,6 +2140,7 @@ dump_routerlist_mem_usage(int severity)
|
||||||
smartlist_len(routerlist->old_routers), U64_PRINTF_ARG(olddescs));
|
smartlist_len(routerlist->old_routers), U64_PRINTF_ARG(olddescs));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if 0
|
||||||
/** Return non-zero if we have a lot of extra descriptors in our
|
/** Return non-zero if we have a lot of extra descriptors in our
|
||||||
* routerlist, and should get rid of some of them. Else return 0.
|
* routerlist, and should get rid of some of them. Else return 0.
|
||||||
*
|
*
|
||||||
|
@ -2158,6 +2159,7 @@ routerlist_is_overfull(routerlist_t *rl)
|
||||||
return smartlist_len(rl->old_routers) > smartlist_len(rl->routers)*2;
|
return smartlist_len(rl->old_routers) > smartlist_len(rl->routers)*2;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
static INLINE int
|
static INLINE int
|
||||||
_routerlist_find_elt(smartlist_t *sl, void *ri, int idx)
|
_routerlist_find_elt(smartlist_t *sl, void *ri, int idx)
|
||||||
|
@ -2613,8 +2615,10 @@ router_add_to_routerlist(routerinfo_t *router, const char **msg,
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if 0
|
||||||
if (routerlist_is_overfull(routerlist))
|
if (routerlist_is_overfull(routerlist))
|
||||||
routerlist_remove_old_routers();
|
routerlist_remove_old_routers();
|
||||||
|
#endif
|
||||||
|
|
||||||
if (authdir) {
|
if (authdir) {
|
||||||
if (authdir_wants_to_reject_router(router, msg,
|
if (authdir_wants_to_reject_router(router, msg,
|
||||||
|
@ -2907,7 +2911,7 @@ routerlist_remove_old_routers(void)
|
||||||
if (!routerlist || !consensus)
|
if (!routerlist || !consensus)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
routerlist_assert_ok(routerlist);
|
// routerlist_assert_ok(routerlist);
|
||||||
|
|
||||||
retain = digestmap_new();
|
retain = digestmap_new();
|
||||||
cutoff = now - OLD_ROUTER_DESC_MAX_AGE;
|
cutoff = now - OLD_ROUTER_DESC_MAX_AGE;
|
||||||
|
@ -2959,7 +2963,7 @@ routerlist_remove_old_routers(void)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
routerlist_assert_ok(routerlist);
|
//routerlist_assert_ok(routerlist);
|
||||||
|
|
||||||
/* Remove far-too-old members of routerlist->old_routers. */
|
/* Remove far-too-old members of routerlist->old_routers. */
|
||||||
cutoff = now - OLD_ROUTER_DESC_MAX_AGE;
|
cutoff = now - OLD_ROUTER_DESC_MAX_AGE;
|
||||||
|
@ -2972,7 +2976,7 @@ routerlist_remove_old_routers(void)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
routerlist_assert_ok(routerlist);
|
//routerlist_assert_ok(routerlist);
|
||||||
|
|
||||||
/* Now we might have to look at routerlist->old_routers for extraneous
|
/* Now we might have to look at routerlist->old_routers for extraneous
|
||||||
* members. (We'd keep all the members if we could, but we need to save
|
* members. (We'd keep all the members if we could, but we need to save
|
||||||
|
@ -3002,7 +3006,7 @@ routerlist_remove_old_routers(void)
|
||||||
}
|
}
|
||||||
if (hi>=0)
|
if (hi>=0)
|
||||||
routerlist_remove_old_cached_routers_with_id(cutoff, 0, hi, retain);
|
routerlist_remove_old_cached_routers_with_id(cutoff, 0, hi, retain);
|
||||||
routerlist_assert_ok(routerlist);
|
//routerlist_assert_ok(routerlist);
|
||||||
|
|
||||||
done:
|
done:
|
||||||
digestmap_free(retain, NULL);
|
digestmap_free(retain, NULL);
|
||||||
|
@ -3477,6 +3481,10 @@ client_would_use_router(routerstatus_t *rs, time_t now, or_options_t *options)
|
||||||
/* Most caches probably don't have this descriptor yet. */
|
/* Most caches probably don't have this descriptor yet. */
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
if (rs->published_on + OLD_ROUTER_DESC_MAX_AGE < now) {
|
||||||
|
/* We'd drop it immediately for being too old. */
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue