Where are the missing requests?

When I run "unbound-control dump_requestlist", I consistently see
fewer requests output than I'd expect:

    # (unbound-control stats_noreset | grep 'requestlist.current.user'; unbound-control dump_requestlist | wc -l)
    thread0.requestlist.current.user=272
    thread1.requestlist.current.user=225
    total.requestlist.current.user=497
   286

    # (unbound-control stats_noreset | grep 'requestlist.current.user'; unbound-control dump_requestlist | wc -l)
    thread0.requestlist.current.user=283
    thread1.requestlist.current.user=206
    total.requestlist.current.user=489
   303

    # (unbound-control stats_noreset | grep 'requestlist.current.user'; unbound-control dump_requestlist | wc -l)
    thread0.requestlist.current.user=272
    thread1.requestlist.current.user=219
    total.requestlist.current.user=491
   300

As you can see above, the request list has ~500 entries, but only
~300 are returned by dump_requestlist. Is this an artefact of some
sort of lossy list traversal? Are requests completing too fast to
be captured by dump_requestlist?

Hi Viktor,

When I run "unbound-control dump_requestlist", I consistently see
fewer requests output than I'd expect:

The command only prints the requests on the queue for the first worker
(thread0). It does not print from the other ones.

In your printout it looks higher, even. The reason is that the
unbound-control TLS stream is connected to that thread, and that makes
it easier to print out.

Best regards, Wouter