not all get_consensus() relays are in get_server_descriptors()

The reverse is to expected and it's often up to 1000 relays. However, the mismatch in this case is often anywhere from 1 to 100 relays.

How to replicate:

Code highlighting:
  {{{#!python
serverdescriptors_dict = dict((str(x.fingerprint), x) for x in DescriptorDownloader().get_server_descriptors().run())
consensus_list = [x for x in DescriptorDownloader().get_consensus().run()]

mismatch_count = len([x.fingerprint for x in consensus_list if x.fingerprint not in serverdescriptors_dict])
  }}}

Here are the results from multiple runs:

88 16 91 1 1 86 1 88 90 90 17

Unclear where this bug is, it could be in the TOR protocol itself perhaps.