Opened 15 months ago

Closed 4 months ago

Last modified 4 months ago

#30735 closed task (fixed)

Work out which relays are ignored by all sbws instances

Reported by: teor Owned by: juga
Priority: Very High Milestone: sbws: 1.1.x-final
Component: Core Tor/sbws Version:
Severity: Critical Keywords: must-keep-3-torflow-blocker, sbws-majority-blocker, sbws-roadmap
Cc: juga Actual Points: 8
Parent ID: #33121 Points: 6
Reviewer: Sponsor:

Description

We need to find out if sbws is excluding any relays.

If the number of excluded relays is small, we can go below 3 torflow instances.

Child Tickets

Change History (13)

comment:1 in reply to:  description ; Changed 14 months ago by juga

Replying to teor:

We need to find out if sbws is excluding any relays.

If the number of excluded relays is small, we can go below 3 torflow instances.

Respect to what?, i can think of:

  • number of relays that are in the last consensus (currently 7478)
  • number of relays for which sbws gets the last descriptor (currently 6571)
  • number of relays measured by torflow

comment:2 Changed 14 months ago by juga

Ah, i realize now about the detail "by all sbws instances", so are you thinking on a script that would take the relays from the consensus and see which are missing in both longclaw and bastet?, in the bandwidth files for how long?.

comment:3 in reply to:  1 Changed 14 months ago by teor

Replying to juga:

Replying to teor:

We need to find out if sbws is excluding any relays.

If the number of excluded relays is small, we can go below 3 torflow instances.

Respect to what?, i can think of:

  • number of relays that are in the last consensus (currently 7478)

yes, let's compare with the consensus

  • number of relays for which sbws gets the last descriptor (currently 6571)

if we fix bug #30733, then sbws should get all the descriptors, so we won't need this comparison

  • number of relays measured by torflow

yes, let's also compare with torflow

  • sbws ignores relays unless they are in the most recent consensus that it has, so it will have a lot fewer relays than torflow
  • we can fix this issue by fixing #30727

Edit: fix formatting

Last edited 14 months ago by teor (previous) (diff)

comment:4 Changed 13 months ago by gaba

Keywords: sbws-roadmap-september added
Points: 26

comment:5 Changed 7 months ago by gaba

Keywords: sbws-roadmap added; sbws-roadmap-september removed

Changing keyword of roadmapped open sbws tickets to a general sbws-roadmap one.

comment:6 Changed 7 months ago by gaba

Parent ID: #33121

The goal is to deploy sbws in all bw authorities. We need to fix critical bugs to do this.

comment:7 Changed 5 months ago by gaba

Owner: set to juga
Status: newassigned

comment:8 Changed 4 months ago by juga

Status: assignedneeds_review

This check between other things, the missing relays in the bandwidth files: https://gitlab.torproject.org/juga/bwauthealth.

I'm running it in a server, the created reports can be seen at http://twc2rnle3toroew3xfre3gtkuojra2rlcgsvl7ad3n4z2akuqvs4rxqd.onion.

While the tool it's not adopted by Tor project nor run in its infrastructure, i don't think it is needed to review the code.

It also checks whether the descriptors are being updated #33198 and total consensus weight (related to #33350).

When longclaw changes to maint-1.1 branch, we can see whether our patches have fixed the main issues.

comment:9 in reply to:  8 Changed 4 months ago by juga

Replying to juga:

When longclaw changes to maint-1.1 branch, we can see whether our patches have fixed the main issues.

Just changed.

comment:10 in reply to:  8 ; Changed 4 months ago by gk

Replying to juga:

This check between other things, the missing relays in the bandwidth files: https://gitlab.torproject.org/juga/bwauthealth.

I'm running it in a server, the created reports can be seen at http://twc2rnle3toroew3xfre3gtkuojra2rlcgsvl7ad3n4z2akuqvs4rxqd.onion.

While the tool it's not adopted by Tor project nor run in its infrastructure, i don't think it is needed to review the code.

It also checks whether the descriptors are being updated #33198 and total consensus weight (related to #33350).

When longclaw changes to maint-1.1 branch, we can see whether our patches have fixed the main issues.

What should I or someone else review? (given that the ticket is in needs_review but the request does not seem to be code related)

comment:11 in reply to:  10 Changed 4 months ago by juga

Replying to gk:

(given that the ticket is in needs_review but the request does not seem to be code related)

Well, it's "related" code, it's just not sbws code :)

comment:12 Changed 4 months ago by juga

Resolution: fixed
Status: needs_reviewclosed

gk and i had a converstation about this ticket.

I think the goal of this ticket was that relay operators can see whether their relay is reported or not in the bandwidth file and i think it'd be even better if sbws would report about the aproximately the same number of relays as torflow, in which case it's not so important to show which are the relays not reported, since they'll be very few.

gk pointed out interesting questions in this ticket:

  1. how do we compare with torflow?

I think that with the lines included in the report, we can compare the number of relays in the consensus not reported by torflow and the ones not reported by sbws.

For example, on 2020-04-18 06:00:
The consensus has 6767 relays.
longclaw is reporting on 8121 relays, from which 6609 are relays to vote.
longclaw is not reporting about 10 relays in the consensus and it's not voting on 593 relays in it. It's not shown there, but in my experience many of the relays reported are not the ones in the consensus.
760 of the relays reported had descriptors updated and 887 had router statuses updated.

Compared with a Torflow instance:
Torflow is reporting (and voting) about 8310 and 57 relays in the consensus are not in Torflow.
We can't know whether the reported relays have their descriptors and router statuses updated.

After longclaw is using sbws from maint-1.1 branch, on 2020-04-21 12:00:
The consensus has 6790 relays.
longclaw is reporting on 8084 relays, from which 6548 are relays to vote.
longclaw is not reporting about 62 relays in the consensus and it's not voting on 626 of them.
4651 of the relays reported had descriptors updated and 1130 had router statuses updated.

Compared with a Torflow instance, torflow is reporting (and voting) on 8481 relays, from which 129 are not in the consensus.

  1. how to check which are the relays "excluded by all sbws" instances?

This will vary in each consensus since i think the main reason why sbws is not voting on some relays is due their relay descriptors/statuses not being updated.
We could still report the common relays not being voted by sbws instances in each consensus.
However i think that as, mentioned above, it'd be more useful to have sbws voting on aproximaely the same relays as torflow.

gk and i thought that probably we don't have to do more in this ticket, but rather have another ticket were we check whether the bugfixes we have been working on are making sbws behave as torflow.
I've created #33947 for this and i'm going to close this ticket for now, we can reopen it if we think we should focus on showing which are the relays excluded.

comment:13 Changed 4 months ago by juga

Actual Points: 8
Note: See TracTickets for help on using tickets.