prop224: Missing tons of mds over time with a lurking client
As roger described in comment:1:ticket:23543 tor will slowly expire its cached mds. Tor will start fetching again mds when it sees some client activity.
In the case of a prop224 HS client with a single rend circ open (e.g. to an ircd, or downloading something) Tor will consider itself inactive and will not fetch any mds during that time.
After 1-2 days of HS client operation, we will be missing about 2000 mds. If at that point we need to do another HS operation we will either stall if we are missing too many mds:
hs_client_refetch_hsdesc(): Can't fetch descriptor for service MUvEXhuYFWdElDqoHOeXPqi8TcKfLxeDKkYUejwLgt0 because we dont have enough descriptors. Stalling connection.
or will try to fetch a descriptor with some missing mds. This can result in delays and/or reachability issues.
That's not a problem for v2, since all the info for v2 are in the consensus and it does not need any mds to connect to HSes.
Perhaps it's good for us to periodically keep fetching mds if we have long-lasting active rend circs. (Sorta related to legacy/trac#23543 (moved) but not exactly).